struts.enable.DynamicMethodInvocation = true
当配置struts.enable.DynamicMethodInvocation = true时,就可以在struts.xml配置“*”的通配符,来调用action里的方法。
Wildcards(通配符):通配符有点类似于变量,但这里的变量是用“*”表示。
单个星号配置:
<action name="login_*" method="{1}" class="com.zhang.action.LoginAction">
<result name="success">/pages/success.jsp</result>
<result name="error">/pages/error.jsp</result>
</action>
这里在action的name中通配了一个login_*,它对应映射的是method属性。如果在客户端发生一个这样的请 求:login_init.action、login_show.action等,这时服务器就会自动调用这个action中的init()方法或 show()方法。这里的method="{1}"代表是第一个“*”,如果有多个星号,就要根据顺序来通配{1},{2},{3}....
多个星号的配置:
<action name="*_*" method="{2}" class="com.zhang.action.{1}Action">
<result name="success">/pages/success.jsp</result>
<result name="error">/pages/error.jsp</result>
</action>
其中第一个“*”映射到具体的某个action类,第二个“*”映射到该类的方法。
Struts2动态方法调用
最新推荐文章于 2018-07-20 16:03:30 发布