記錄一下shopxx學習過程中的知識點。
我在開發中,雖然也使用過struts2的註解,但有些功能沒有深入去研究和使用,現在分析別人代碼時,發現果然還有很多需要學習的啊。
shop++的action跳轉完全沒有通過註解來寫,找了半天,最後發現,原來開發者爲了節省配置,直接遵循約定大於配置的思想,利用struts2提供的下面的功能,讓action將跳轉交給了struts。
struts.xml 中這樣兩句:
<!-- 結果資源的路徑 --> <constant name="struts.convention.result.path" value="/WEB-INF/template/" /> <!-- URL資源分隔符 --> <constant name="struts.convention.action.name.separator" value="_" />
比如有一個Action這樣聲明:
@ParentPackage("admin") public class TestAction{ public String aaa(){ // do something return "abc"; } }
那麼這個Action的訪問路徑就是${base}+"/admin/test!aaa.action"
執行之後就找 ${base}+"WEB-INF/template/admin/test_abc.**"
可以參照:http://blog.csdn.net/chen_shuqing/article/details/5996930 中對struts2中的property配置的講解