Я использую 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.
Есть ли простой способ настроить нечто подобное без изменения базового шаблона и определения?
заранее спасибо