Tiles 3:在JSP中获取当前定义名称

时间:2013-09-20 13:26:13

标签: java jsp struts2 tiles

是否有一种方法可以在jsp中检索当前被调用定义的名称?

标签

<tiles:importAttribute>

仅适用于定义的属性

1 个答案:

答案 0 :(得分:0)

第1步tiles.xml在所有定义中添加属性myDefinitionName

<definition name="baseLayout" template="/BaseLayout.jsp">
    <put-attribute name="title" value="" type="string"  />
    <put-attribute name="header" value="/Header.jsp" />
    <put-attribute name="menu" value="/Menu.jsp" />
    <put-attribute name="body" value="" />
    <put-attribute name="footer" value="/Footer.jsp" />
    <put-attribute name="myDefinitionName" cascade="true" value="baseLayout"  />
</definition>

<definition name="/welcome.tiles" extends="baseLayout">
    <put-attribute name="title" value="Welcome" type="string" />
    <put-attribute name="body" value="/welcome.jsp" />
    <put-attribute name="myDefinitionName" cascade="true" value="welcome.tiles"  />
</definition>

注意:使用正确的图块版本和tiles.xml dtd使用cascade="true"

第2步:welcome.jsp

<b>Definition Name :</b> <tiles:getAsString name="myDefinitionName"/>

<强>输出:

  

定义名称: welcome.tiles