Java 如何有一个灵活的网站使用瓷砖?
我的网站上有4种不同类型的会员,比如memberA、memberB、memberC和memberD。每个都应该有自己的标题Java 如何有一个灵活的网站使用瓷砖?,java,struts2,tiles,tiles2,apache-tiles,Java,Struts2,Tiles,Tiles2,Apache Tiles,我的网站上有4种不同类型的会员,比如memberA、memberB、memberC和memberD。每个都应该有自己的标题headerA.jsp,headerB.jsp,headerC.jsp,headerD.jsp 如下图所示,每个成员类型都有一个定义,并定义了其特定的标题和正文。每个都有自己的标题,但其中一些标题作为其主体属性,例如memberA、memberB和memberCsharegbody.jsp <definition name="MemberA" extends=
headerA.jsp
,headerB.jsp
,headerC.jsp
,headerD.jsp
如下图所示,每个成员类型都有一个定义,并定义了其特定的标题和正文。每个都有自己的标题,但其中一些标题作为其主体属性,例如memberA
、memberB
和memberC
sharegbody.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>
当成员登录时,我有两个问题
您可以这样定义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...
等
您可以这样定义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...
等
升级到tiles-3,然后可以在put属性中使用表达式。。。OGNL表达式也受支持,您可以通过从会话中拉出“A”、“B”、“C”、“D”组件,将其动态地粘贴到字符串的末尾,然后只需要一个平铺。传统上,你应该为每个组合定义一个新的tile,但是你也可以使用通配符和正则表达式匹配来完成一些工作。升级到tiles-3,然后你可以在put属性中使用表达式。。。OGNL表达式也受支持,您可以通过从会话中拉出“A”、“B”、“C”、“D”组件,将其动态地粘贴到字符串的末尾,然后只需要一个平铺。传统上,您应该为每个组合定义一个新的平铺,但是您也可以使用通配符和正则表达式匹配来完成一些工作。