我正在使用struts2 + tiles2,我想做以下几点。我有一个baseLayout,我在这里定义我的菜单,正文等:
<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 :(得分: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中,然后像其他任何内容一样将“tiles:insertAttribute”放入其中。