我使用图块库处理应用程序模板。

tile.xml:

<definition name="template1" template="/WEB-INF/template/default/template1.jsp">
   ...
    <put-attribute name="menu" value="/WEB-INF/template/default/menu.jsp" />
   ...
</definition>


template1.jsp

<html>
    <body>
        ...
        <tiles:insertAttribute name="menu" />
        <tiles:insertAttribute name="menu" />
        ...
    </body>
</html>


如您所见,我必须在“菜单”中插入图块。由于必须在“ menu.jsp”内动态打印不同的菜单,因此如何将2个不同的变量发送到2个不同的图块“ menu”?

更清楚

   <html>
        <body>
            ...
            <tiles:insertAttribute name="menu" /> <--- here I should pass a variable called menu1
            <tiles:insertAttribute name="menu" /> <--- here I should pass a variable called menu2
            ...
        </body>
    </html>


谢谢大家

最佳答案

您需要两个模板

<definition name="template1" template="/WEB-INF/template/default/template1.jsp">
   ...
    <put-attribute name="menu" value="/WEB-INF/template/default/menu1.jsp" />
   ...
</definition>

<definition name="template2" template="/WEB-INF/template/default/template1.jsp">
   ...
    <put-attribute name="menu" value="/WEB-INF/template/default/menu2.jsp" />
   ...
</definition>

<html>
    <body>
        ...
        <tiles:insertAttribute name="menu" />
        ...
    </body>
</html>


更新资料

您也可以使用这种方法

<definition name="menu1" template="menu.jsp">
   ...
  <put name="header.tile" value="headerMenu1.jsp" />
   ...
</definition>

<definition name="menu2" template="menu.jsp">
   ...
  <put name="header.tile" value="headerMenu2.jsp" />
   ...
</definition>


menu.jsp

<tiles:insert attribute="header.tile" />

关于java - 如何将变量传递给图块(图块库),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34761930/

10-13 00:25