Struts2配置一个Action实现多个请求
2013-07-29 22:02
573 查看
struts2中的Action默认执行方法为execute(),尽管可以通过<action name="addUser" class="addUser" method="doFun">设置默认执行方法,但也难以改变一个<action>一个方法的窘境。
那么,一个Action中多个方法,如何配置呢?
先上方法,简单举例:用户管理
UserManagerAction.java
struts.xml配置,一个Action处理多个请求的配置
1.第一种方法:多个<action>标签,设置不同的method属性
2.第二种方法:采用!的方式访问请求,例如:user/userManager!addUser
*.jsp页面请求如:myForm.action = "user/userManager!addUser";
3.第三种方法:采用通配符的方式(推荐)
({1}匹配第一个*,{2}匹配第二个*)
*.jsp页面请求如:myForm.action = "user/addUser_success";
那么,一个Action中多个方法,如何配置呢?
先上方法,简单举例:用户管理
UserManagerAction.java
public class UserManagerAction extends ActionSupport implements RequestAware { private User user; @Resource private UserManager userManager; private Map<String, Object> request; @Override public void setRequest(Map<String, Object> request) { this.request = request; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public String addUser() throws Exception { System.out.println("-----UserManagerAction.addUser()-----"); userManager.addUser(user); return "success"; } public String modifyUser() { System.out.println("-----UserManagerAction.modifyUser()-----"); userManager.modifyUser(user); return "success"; } public String delUser() { System.out.println("-----UserManagerAction.delUser()-----"); userManager.delUser(user.getUsername()); return "success"; } public String queryUser() { System.out.println("-----UserManagerAction.queryUser()-----"); User user1 = userManager.queryUser(user.getUsername()); request.put("user1", user1); return "success"; } public String queryAllUser() { System.out.println("-----UserManagerAction.queryAllUser()-----"); List<User> userList = userManager.queryAllUser(); request.put("userList", userList); return "success"; } }
struts.xml配置,一个Action处理多个请求的配置
1.第一种方法:多个<action>标签,设置不同的method属性
<package name="userManager" namespace="/user" extends="struts-default"> <action name="addUser" class="com.ys.action.UserManagerAction" method="addUser" /> <action name="modifyUser" class="com.ys.action.UserManagerAction" method="modifyUser" /> <action name="delUser" class="com.ys.action.UserManagerAction" method="delUser" /> </package>
2.第二种方法:采用!的方式访问请求,例如:user/userManager!addUser
<package name="userManager" namespace="/user" extends="struts-default"> <action name="userManager" class="com.ys.action.UserManagerAction"> <result name="success">/success.jsp</result> <result name="error" type="redirect">/error.jsp</result> </action> </package>
*.jsp页面请求如:myForm.action = "user/userManager!addUser";
3.第三种方法:采用通配符的方式(推荐)
<package name="userManager" namespace="/user" extends="struts-default"> <action name="*User_*" class="UserManagerAction" method="{1}User"> <result name="success">/{2}.jsp</result> <result name="error" type="redirect">/error.jsp</result> </action> </package>
({1}匹配第一个*,{2}匹配第二个*)
*.jsp页面请求如:myForm.action = "user/addUser_success";
相关文章推荐
- Struts2配置一个Action实现多个请求
- Struts2 通配符映射(wildcard mappings) 多个请求一个action处理
- 动态方法调用 在Struts2中动态方法调用有三种方式,动态方法调用就是为了解决一个Action对应多个请求的处理,以免Action太多 第一种方式:指定method属性 这种方式我们前面已经用到过
- 《转》struts2动态方法配置 Action,使一个Action可处理多请求
- Struts l 配置使得一个Action可以处理多个请求
- Struts2一个Action内包含多个请求处理方法的处理,method的使用方法,struts2中的路径问题,通配符映射 (
- Struts2一个Action内包含多个请求处理方法的处理,method的使用方法,struts2中的路径问题,通配符映射
- Struts2中一个Action多个请求处理方法的三种实现方式
- struts2中一个action中实现多个功能
- struts2动态方法配置 Action,使一个Action可处理多请求
- Struts2一个Action内包含多个请求处理方法的处理,method的使用方法,struts2中的路径问题,通配符映射
- Struts2一个Action内包含多个请求处理方法的处理
- struts2.3.1.2 使用动态方法配置 Action,使得一个Action可以处理多个请求
- Struts2一个Action内包含多个请求处理方法的处理,method的使用方法,struts2中的路径问题,通配符映射
- struts2中,一个Form表单配置多个action实现原理及案例
- Struts2中一个Action多个请求处理方法的三种实现方式
- struts2.3.1.2 使用动态方法配置 Action,使得一个Action可以处理多个请求
- Struts2 一个form组成的action内包含多个请求的处理方式。通配符形式。
- JAVAWEB开发之Struts2详解(二)——Action接受请求参数、类型转换器、使用Struts2的输入校验、以及遵守约定规则实现Struts2的零配置
- 超简单方法解决Struts2中一个action处理多个请求