【发布时间】:2013-03-01 01:51:10
【问题描述】:
我的网站中有 4 种不同类型的成员,比如说 memberA、memberB、memberC 和 memberD。每个都应该有自己的标题headerA.jsp、headerB.jsp、headerC.jsp、headerD.jsp。
如下所示,每个成员类型都有一个定义,并定义了它们的特定标题和正文。每个都有自己的标头,但其中一些例如 memberA、memberB 和 memberC 共享 gbody.jsp 作为它们的正文属性。
<definition name="MemberA" extends="baseLayout">
<put-attribute name="header" value="/headerA.jsp"/>
<put-attribute name="body" value="/gbody.jsp"/>
</definition>
<definition name="MemberB" extends="baseLayout">
<put-attribute name="header" value="/headerB.jsp"/>
<put-attribute name="body" value="/bodyB.jsp"/>
</definition>
<definition name="MemberC" extends="baseLayout">
<put-attribute name="header" value="/headerC.jsp"/>
<put-attribute name="body" value="/gbody.jsp"/>
</definition>
<definition name="MemberD" extends="baseLayout">
<put-attribute name="header" value="/headerD.jsp"/>
<put-attribute name="body" value="/gbody.jsp"/>
</definition>
会员登录时有两个问题
- 如何向他们显示其特定的标题?
- 如何定义它们的具体身体属性?
【问题讨论】:
-
升级到tiles-3然后你可以在put属性中使用表达式... OGNL表达式也被支持,你可以只粘上“A”、“B”、“C”、“D” " 通过从会话中将组件动态拉到字符串的末尾,那么您只需要一个图块。传统上,您应该为每个组合定义一个新图块,但您也可以使用通配符和正则表达式匹配来完成一些工作。
标签: java struts2 tiles tiles2 apache-tiles