如何使用瓷砖灵活的网站?

时间:2013-03-01 01:51:10

标签: java struts2 tiles tiles2 apache-tiles

我的网站中有4种不同类型的成员,可以说是memberA,memberB,memberC和memberD。每个标题都应有自己的标题headerA.jspheaderB.jspheaderC.jspheaderD.jsp

如下所示,每个成员类型都有一个定义,并定义了它们的特定标题和正文。每个标题都有自己的标题,但其中一些例如memberAmemberBmemberC共享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>

当成员登录

时,我遇到两个问题
  1. 如何向他们展示他们的特定标题?
  2. 如何定义特定的身体属性?

1 个答案:

答案 0 :(得分:1)

你可以这样定义4个标题

<definition name="Members" extends="baseLayout">
    <put-attribute name="headerA" value="/headerA.jsp"/>
    <put-attribute name="headerB" value="/headerB.jsp"/>
    <put-attribute name="headerC" value="/headerC.jsp"/>
    <put-attribute name="headerD" value="/headerD.jsp"/>
    <put-attribute name="body" value="/gbody.jsp"/>
</definition>

然后在基本布局中有一些代码

<c:if test="${memberA}">
    <tiles:insert attribute="headerA"/>
</c:if>
etc...