Apache Tiles 2.2.2 - 传播值

时间:2013-04-05 12:20:35

标签: spring spring-mvc apache-tiles

<tiles-definitions>
    <definition name="home" template="/WEB-INF/views/home.jsp">
        <put-attribute name="title"       value="My App" />
        <put-attribute name="header"      value="/WEB-INF/views/common/header.jsp" />
        <put-attribute name="menu"        value="/WEB-INF/views/common/nav.jsp" />
        <put-attribute name="footer"      value="/WEB-INF/views/common/footer.jsp" />
    </definition>
</tiles-definitions>

如何将标题值(我的应用程序)传播到header.jsp?在标题jsp中,当我这样做时:

<tiles:insertAttribute name="title" ignore="true" />

什么都没打印出来。当我在home.jsp中执行相同操作时,会打印我的应用程序。 cascaded = true没有帮助。

1 个答案:

答案 0 :(得分:0)

目前尚不清楚你在哪里尝试cascade=true(假设这是你问题中的错误:它应该是“级联”,而不是“级联”)但是以下工作正如预期的那样:

<强> tiles.xml:

<tiles-definitions>
    <definition name="home" template="/WEB-INF/views/home.jsp">
        <put-attribute name="title"   value="My App" cascade="true"/>
        <put-attribute name="header"  value="/WEB-INF/views/common/header.jsp" />
        (...)
    </definition>
</tiles-definitions>

<强>针对home.jsp:

    Title: <tiles:insertAttribute name="title" /> <br/>
    Header: <tiles:insertAttribute name="header" />

<强> header.jsp中:

Title in header: <tiles:insertAttribute name="title" />

输出结果为:

Title: My App
Header: Title in header: My App