2
在我的Spring應用程序中使用Apache磁貼之前,我想確認一下,如果apache磁貼重新加載所有佈局屬性(例如頁眉,菜單,正文,頁腳),正在加載一個新頁面。apache瓷磚每次都會刷新所有屬性嗎?
你能否確認它適用於每一個新的頁面加載?另外,哪個更好的選擇使用阿賈克斯div負載vs阿帕奇瓷磚?
在我的Spring應用程序中使用Apache磁貼之前,我想確認一下,如果apache磁貼重新加載所有佈局屬性(例如頁眉,菜單,正文,頁腳),正在加載一個新頁面。apache瓷磚每次都會刷新所有屬性嗎?
你能否確認它適用於每一個新的頁面加載?另外,哪個更好的選擇使用阿賈克斯div負載vs阿帕奇瓷磚?
servlet容器會注意到您的JSP文件中的更改並重新編譯它們(當然,如果它沒有配置其他的);例如,當你改變
<title><tiles:insertAttribute name="foo" /></title>
到
<title><tiles:insertAttribute name="bar" /></title>
瓷磚的定義(即tiles.xml
文件)僅在默認情況下在啓動時加載。根據the documentation,如果需要,您可以添加應該重新加載圖塊定義的過濾器。
<filter>
<filter-name>Tiles Filter</filter-name>
<filter-class>org.apache.tiles.web.startup.TilesFilter</filter-class>
<init-param>
<param-name>
org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG
</param-name>
<param-value>
/WEB-INF/tiles-defs.xml,/org/apache/tiles/classpath-defs.xml
</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Tiles Filter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
不幸的是,它似乎沒有在我的情況下工作。
Another source建議使用這個代替:
<context-param>
<param-name>org.apache.tiles.definition.dao.LocaleUrlDefinitionDAO.CHECK_REFRESH</param-name>
<param-value>true</param-value>
</context-param>
...但是這並沒有爲我工作的。
回覆:「AJAX DIV負荷VS阿帕奇磚」:我不完全知道你的第一個意思,假設這將在通過AJAX運行時獲取HTML片段,我相信會瓷磚因爲頁面將在服務器端生成,所以在AJAX解決方案中,用戶的瀏覽器必須一點一點地組裝它。這一切都取決於你的用例,真的(頁面的動態性如何?它在用戶會話期間是否改變?)