Я использую Tiles 2.2, и я хотел бы повторно использовать один JSP для отображения разных сообщений. Сообщения должны быть определены в файле конфигурации Tiles.
Следующий пример - мой подход: base - это базовое абстрактное определение, которое расширяют все остальные определения, тогда как display будет другим абстрактным определением, используемым как шаблон для отображения сообщений. page1 и page2 - два последних примера страниц, каждый из которых отображает свое сообщение.
<definition name="base" template="layout.jspx"/>
<definition name="display" extends="base">
<put-attribute name="body" value="display.jspx"/>
</definition>
<definition name="page1" extends="display">
<put-attribute name="message" value="This is one message!"/>
</definition>
<definition name="page2" extends="display">
<put-attribute name="message" value="This is another message!"/>
</definition>
display.jspx будет иметь что-то вроде этого внутри:
<tiles:useAttribute name="message"/>
Message: ${message}
Но я не смог заставить его работать, потому что при открытии page1 или page2 я получаю исключение, сообщающее, что атрибут сообщения имеет значение null.
Есть ли простой способ настроить что-то вроде этого, без изменения базового шаблона и определения ?
Заранее спасибо