记录一下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配置的讲解