Struts2系统学习(6)action中方法调用的三种方式总结
2015-11-13 10:29
639 查看
6 action中方法调用的三种方式总结
在Struts2中对action中的方法调用概括起来主要有三种形式:第一种方式:配置文件中指定调用action的method属性
<action name="student" class="com.markliu.Student" method="add"> <result name="add">/success.jsp</result> </action>
第二种方式:动态方法调用(DMI)
用这种方法需要设置
struts.enable.DynamicMethodInvocation常量,使其允许动态方法调用:
<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
动态方法调用是指表单元素的action并不是直接等于某个Action的名字,而是以如下形式来指定Form的action属性
<!-- action属性为action!methodName的形式 --> <form action = "action!methodName.action" method="post">
在struts.xml中定义如下Action:
<action name="student" class="com.markliu.StudentAction"> <result name="add">/add.jsp</result> <result name="delete">/delete.jsp</result> </action>
StudentAction代码为:
public class StudentAction extends ActionSupport { public String add(){ return "add"; } public String delete(){ return "delete"; } }
则在JSP中用如下方式调用方法:
student!add.action 表示调用student这个action中的add方法。
<a href="student!add.action"> 新增学生</a> <a href="student!delete.action"> 删除学生</a>
第三种方式:通配符(推荐使用)
在struts.xml中定义如下action:
<action name="student_*" class="com.markliu.StudentAction" method="{1}"> <result name="{1}">/student_{1}.jsp</result> </action>
此处只有一个通配符*,所以为{1}。
jsp中调用形式:
<a href="student_add">新增学生</a> <a href="student_delete">删除学生</a>
student_add就会调用StudentAction中的add方法然后跳转到student_add.jsp;
student_delete就会调用StudentAction中的delete方法然后跳转到student_delete.jsp。
Struts2支持动态方法调用,它指的是一个Action中有多个方法,系统根据给定的action来访问不同的方法,而不用写多个Action。
推荐使用通配符匹配的方法,且此时最好设置禁止动态方法调用:
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
转载请注明出处:http://blog.csdn.net/mark_lq/article/details/49814183
相关文章推荐
- JavaEE-Hibernate
- JavaEE-Spring
- selenium(webdriver)-safari:failed: java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.cre
- 用java开发跨平台简易服务器站点监控程序
- eclipse配置汇总
- JavaEE-控制器Struts2
- Java中getResourceAsStream的用法
- JavaEE
- 开启struts2开发模式
- eclipse Package Explorer中Other Projects问题
- eclipse集成插件 绿色方式
- JAVA缓存获取序列方法
- Maven实践(二):Spring与classpath*加载配置文件
- SSH——Spring 依赖注入
- JAX-WS Spring集成jax方式的webservice
- spring mvc3中的addFlashAttribute方法
- Eclipse远程调试Java程序
- Eclipse远程调试Java程序
- Java:类与继承
- Spring+Struts+Ibatis的配置