我在struts2應用程序中使用瓷磚。在定義基本佈局時,我定義了一個屬性「scriptFile」。如何在插入頁面之前檢查瓷磚屬性的存在
<definition name="baseLayout" template="/application/base-layout.jsp" >
...
</definition>
<definition name="custom.tiles" extends="baseLayout">
<put-attribute name="scriptFile" value="js/custom-script.js"></put-attribute>
</definition>
如果開發商在瓷磚定義文件提供了「腳本文件」,「tiles.xml」,這個腳本文件應該使用以下行被列入
<script language="javascript" src="<tiles:insertAttribute name="scriptFile"></tiles:insertAttribute>"></script>
但是,如果沒有定義腳本文件的屬性,這條線必須跳過。
如何檢查瓷磚中是否存在「scriptFile」屬性。有沒有更好的方法來做這件事?
你使用什麼版本的瓷磚? scriptFile屬性來自哪裏?運行時是否是動態的?如果這只是一個tile定義,你應該創建幾個「head」模板,並且包含適當的頭文件,如果你使用一個需要你提供scriptFile的頭文件,那麼你將需要提供一個腳本文件。如果一個struts2動作需要一個id來完成它的工作,你不能很好地發送一個id並期望它能夠工作(對於tile而言)。如果這是動態內容,還有其他可能性。 – Quaternion
version = tiles 2.0.6。屬性來自tiles.xml,並且不是動態的。佈局由頁面標題,菜單,內容和頁腳組成。每個頁面只會更改內容。如果內容需要任何JavaScript,開發人員將提供該JS文件並在tiles.xml中定義它。這個JavaScript文件將被包含在頁眉中。 –