2010-10-07 21 views
1

我正在使用struts2 + tiles2,並且我想要執行以下操作。我有一個在baselayout,在這裏我定義我的菜單,主體等等這樣的:Tiles2將¿定義中的所有腳本分組?

<tiles:insertAttribute name="menu" /> 
<tiles:insertAttribute name="body" /> 

然後在我的tiles.xml我現在就寫這樣的:

<definition name="/index" extends="baseLayout">  
    <put-attribute name="title" value="/public/menu.jsp" /> 
    <put-attribute name="body" value="/public/index.jsp" /> 
</definition> 

所以,有些時候,我有更復雜的佈局,我可以在其中使用幾個jsp,並且這些jsp中的一些具有一些內聯腳本。 我想知道是否有任何方法可以將所有這些內聯腳本添加到同一個地方。例如,我想定義baseLayout中的頁頭,然後將所有內聯腳本添加到此頭。 我希望有辦法做到這一點,但我發現瓷磚文件非常混亂,我還沒有發現一種方法來做到這一點。

謝謝!

回答

0

在tiles1我做這樣的東西:

baseLayout.jsp 
<html> 
    <head> 
     <tiles:getAsString name="appendedFiles"/> 
    </head> 
<body> 
<tiles:insert attribute="menu"> 
<tiles:insert attribute="body"> 
</body> 
</html> 

tiles-defs.xml 
<definition name="baseLayout" path="/struts/baseLayout.jsp"> 
    <put name="cssfiles"><![CDATA[ 
    <link href="file1.css" rel="stylesheet" type="text/css"> 
    <link href="file2.css" rel="stylesheet" type="text/css"> 
    ]]></put> 
</definition> 

或者你可以把內容到一個單獨的JSP,然後在「磚:insertAttribute」像任何其他內容。