Tiles2 сгруппировать все сценарии внутри определения? - PullRequest
1 голос
/ 07 октября 2010

Я использую Struts2 + Tiles2, и я хотел бы сделать следующее.У меня есть baseLayout, где я определяю свое меню, тело и т. Д. Так:

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

А затем в своем файле tile.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, а затем добавить к нему все встроенные сценарии.Я надеюсь, что есть способ сделать это, но я нахожу документацию плиток очень запутанной, и я не нашел способ сделать это.

Спасибо!

1 Ответ

0 голосов
/ 04 февраля 2011

В плитках1 я сделал что-то вроде этого:

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, а затем "tile: insertAttribute", как любой другой контент.

...