2011-11-29 99 views
0

我使用的是Tiles 2.2,我想重用一個JSP來顯示不同的消息。消息必須在Tiles配置文件中定義。Apache Tiles:擴展另一個抽象的抽象定義

下面的例子是我的方法:在基座抽象定義的所有其它定義延伸,而顯示將是另一個抽象定義,作爲用於顯示消息的模板。 page1 and 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} 

但我不能讓它工作,因爲打開第1頁第2頁當我得到一個異常說消息屬性爲null。

有沒有簡單的方法來設置這樣的東西,沒有修改基本模板和定義

在此先感謝

+0

自從我使用瓷磚以來已經有一段時間了。我想我記得不得不在字符串類型的屬性上加入type =「string」。 –

回答

1

可能爲時已晚,但我相信你需要添加cascade="true"put-attribute元素name="message"