Я использую Tiles 2 в своем веб-приложении, и базовая настройка, которую я получил в моем файле tile.xml, такова:
<tiles-definitions>
<definition name="mainLayout" template="/jsp/layout.jsp">
<put-attribute name="header" value=""/>
<put-attribute name="menu" value="/jsp/defaultMenu.jsp" />
<put-attribute name="content" value="" />
<put-attribute name="footer" value="/jsp/footer.jsp" />
</definition>
<definition name="HomePage" extends="mainLayout">
<put-attribute name="content" type="template" value="/jsp/home.jsp"/>
<put-attribute name="homeClass" value="active" />
</definition>
... rest omitted for brevity.
В layout.jsp, который определяет макет, я включаю меню в соответствующем месте.
<tiles:insertAttribute name="menu" />
Итак, затем в моем шаблоне меню я хотел использовать атрибут homeClass, определенный в tile.xml.
<tiles:insertAttribute name='homeClass'/>
но я получаю сообщение об ошибке, что атрибут homeClass не определен. Если я выполняю insertAttribute в моем layout.jsp, значение определяется правильно, но мне нужно, чтобы оно было определено в меню JSP, включенном в мой макет.
Итак, мой вопрос: Как я могу правильно передать атрибут homeClass
не только в мой шаблон макета, но и в шаблон меню, включенный в шаблон макета?