我有一個網站使用Struts2作爲MVC框架。我需要重新整理JSP。我需要將舊的JSP與新的JSP一起訪問。所以我添加了一個/newdesign/
的根文件夾,並將所有現有的JSP文件夾複製到其中。如何在Struts 2中應用全局動態結果路徑前綴以便reskin JSP?
所以,如果我具有名稱/值對登錄?newdesign=true
(例如)我的初始請求,那麼我可以:
- 商店這在用戶的會話,然後 動態
- 添加
/newdesign/
如struts.xml
中標記的全局前綴,用於確定是否爲相關的Action加載了新的或舊的JSP。
這種方式開發人員可以檢查是否所有的舊頁面已被重新植入一個新的頁面。
我怎樣做上述第2部分? - 我曾看過使用struts.convention.result.path = /newdesign
,但這不是動態的,如果用戶要顯示舊的或新的JSP,我不能更改它。
爲您快速的回覆非常感謝......我有一個總〜100個標籤〜40分的動作,所以我不希望重複支柱的配置,因爲我也是從誰正在升級的原始開發商的動作代碼合併。我只需要重新構建JSP,因此只需要將路徑更改爲例如'/newdesign/jsp/admin/login.jsp'(而不是'/jsp/admin/login.jdp'),這個基於Session變量。所以額外的命名空間和單獨的操作不是首選的解決方案。你知道我可以在全球範圍內添加這樣的「結果」前綴嗎? –
user1439173
2013-05-14 07:41:32
我發現了一種通過EL一個變量添加到標籤 - http://mycodefixes.blogspot.co.il/2010/10/struts-2-creating-dynamic-results.html但我還是要更新在我的JSP內的任何<%@ include file =「/ jsp/include.jsp」%>裏面的JSP路徑!這使得我需要將老式的JSP和新的JSP一起使用變得更加複雜。所以我很喜歡這個想法。非常感謝您的時間。 –
user1439173
2013-05-14 09:37:22
EL是Strurs2的一個不好的解決方案,結果可能有動態參數。使用include,你應該使用'
2013-05-14 11:04:57