道听途说Struts2之5:Method and DMI
2012-04-08 15:33
232 查看
在前面我们知道了,在Struts.xml中可以配置Action所使用的类,类中提供一个execute方法,默认会去执行这个方法。既然有默认那么我们就可以改变这个默认方法。在其中使用method就可以了。代码如下:
对应的UserAction类代码如下:
在我们的Struts.xml文件中,在userAdd action中多了一个method,值为add。表示在使用的时候会执行对应类中的add方法。后面还定义了一个user
action这个是为了使用动态方法调用(DMI)而设置的。
到这里我们就可以使用下面调用方式了。
<ahref="项目名/user/userAdd">添加用户</a>
这个将会使用userAddaction,并且执行对应的add方法。
<ahref="项目名/user/user!add">添加用户</a>
这个将会使用useraction,并且也会执行对应的add方法。这种调用就是在action后面加上“!”,然后加上对应的方法名。这样Struts2就会到类中找对应的方法执行。以后在实际中第二种用的多,所以第一种就不用记住了。
希望写到这里说明白了,如果哪里错了,还请指出
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.devMode" value="true" /> <package name="user" extends="struts-default" namespace="/user"> <action name="userAdd" class="com.mengxiangyue.struts2.user.action.UserAction" method="add"> <result>/user_add_success.jsp</result> </action> <action name="user" class="com.mengxiangyue.struts2.user.action.UserAction"> <result>/user_add_success.jsp</result> </action> </package> </struts>
对应的UserAction类代码如下:
package com.mengxiangyue.struts2.user.action; import com.opensymphony.xwork2.ActionSupport; public class UserAction extends ActionSupport { public String add() { return SUCCESS; } }在UserAction中我们继承了ActionSupport,提供了一个add方法。返回了一个SUCCESS,这里的SUCCESS是在ActionSupport中定义的一个常量,值就是String类型的success。这里并没有提供默认的execute方法,这里我们不使用。
在我们的Struts.xml文件中,在userAdd action中多了一个method,值为add。表示在使用的时候会执行对应类中的add方法。后面还定义了一个user
action这个是为了使用动态方法调用(DMI)而设置的。
到这里我们就可以使用下面调用方式了。
<ahref="项目名/user/userAdd">添加用户</a>
这个将会使用userAddaction,并且执行对应的add方法。
<ahref="项目名/user/user!add">添加用户</a>
这个将会使用useraction,并且也会执行对应的add方法。这种调用就是在action后面加上“!”,然后加上对应的方法名。这样Struts2就会到类中找对应的方法执行。以后在实际中第二种用的多,所以第一种就不用记住了。
希望写到这里说明白了,如果哪里错了,还请指出
相关文章推荐
- Struts2 ActionMethod DMI(动态方法调用)
- struts2配置及ActionMethod_DMI_动态方法调用
- struts2 2.5动态方法调用(DMI) dynamic method invoke 出现不被允许的方法时 Method add for action dynamic is not allowed! - [unknown location]
- struts2 ActionMethod DMI 动态方法调用
- Struts2 ActionMethod 【DMI】(动态方法调用 Dynamic Method Invoke)
- JSP struts2 tag iterator for reading 读取 map and hashmap jsp method 实现方法
- 彻底解决STRUTS2 错误There is no Action mapped for namespace / and action name login
- 简单理解 Struts2的PrepareAndExecuteFilter
- C# constructor chain and extension method
- 道听途说Struts2之4:Path路径问题
- 道听途说Struts2之10:简单的数据验证
- Difference Between CALL TRANSACTION and SESSION METHOD
- "constantize" and "with_indifferent_access" method
- Struts2中关于"There is no Action mapped for namespace / and action name"的总结
- struts2 FilterDispatcher StrutsPrepareAndExecuteFilter
- c# load dll dynamic and run the method
- 道听途说Struts2之19:OGNL访问静态方法,集合类
- Eclipse配置Struts2问题:ClassNotFoundException: org...dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
- struts2 action的动态应用(DMI)