我正在使用 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时我得到一个异常,说消息属性为空。
有没有一种简单的方法来设置这样的东西,而无需修改基本模板和定义?
提前致谢