1.Strurs2 DMI (动态方法调用)
<package name="default" namespace="/" extends="struts-default"> <action name="user" class="com.struts.action.UserAction"> <result>/User.jsp</result> </action> </package>
比如调用UserAction中的add方法,不需要在struts.xml对应Action中配置method方法,在JSP调用Action属性中用 action="user!add",此时调用的为UserAction中的add方法
2.Struts2 通配符
<package name="default" namespace="/" extends="struts-default"> <action name="*_*" class="com.struts.action.{1}Action" method="{2}"> <result>/{1}_{2}.jsp</result> </action> </package>
调用时像<a href="User_add">Add User</a>,调用的是UserAction中的add方法,用通配符配置Struts时,需要遵循"约定优于配置"原则,即约定好Action类、方法、页面的命名约定。
之后再有新的功能,比如Task模块,TaskAction为Action类,其中的方法要简洁为add/delete/update/select等,页面为 Task_add.jsp/Task_delete.jsp/Task_update.jsp等,这样不需要修改Struts.xml中的配置即可直接开发
3.Struts2 中文问题(I18N)
在struts.xml 中配置或者用Spring中的Filter过滤
<constant name="struts.i18n.encoding" value="GBK" />