Struts2之Action处理多个方法总结
2015-12-24 10:27
323 查看
在我们Struts2的请求中,一般都是前台提交请求到Action接收,但是以前的提交方式基本上都是一个请求对应一个Action,虽然这样职能单一了,但是问题却出来了,就比如我要开发一个系统,业务功能非常的多,非常的复杂,就一个用户模块就至少有4个请求,增删改查,如果再加上按条件进行查询等等,不知道得需要多少请求,这么多的请求则会对应着这么多的Action,这样我们开发的系统不知道要有多少东西,更不利于维护。所以为了方便起见,我们采取措施将一个模块的请求放到一块,这样Action类也减少了,也方便便于维护。要将好几个请求放到一个Action中,有好3种方法,具体如下:
首先编写公共UserAction,如下:
public class UserAction extends ActionSupport {
private User user;
//get、set方法省略...
public String addUser() throws Exception {
System.out.println("UserAction.addUser");
return SUCCESS;
}
public String modifyUser() throws Exception {
System.out.println("UserAction.modifyUser");
return SUCCESS;
}
public String delUser() throws Exception {
System.out.println("UserAction.delUser");
return SUCCESS;
}
}
第一种:在配置文件(struts.xml)中配置相同的Action类,但是需要使用方法进行区分,具体如下:
<action name="" class="com.tgb.UserAction" method="addUser()">
<result name="success">/success.jsp</result>
</action>
<action name="" class="com.tgb.UserAction" method="modifyUser()">
<result name="success">/success.jsp</result>
</action>
<action name="" class="com.tgb.UserAction" method="delUser()">
<result name="success">/success.jsp</result>
</action>
第二种: 一个Action处理多个请求,但得需要提交请求的时候带上方法名,例如:user/userManager!addUser。具体如下:
1、配置文件中不用变动,照常如下:
<action name="user" class="com.tgb.UserAction" >
<result name="success">/success.jsp</result>
<result name="success">/error.jsp</result>
</action>
2、页面提交的时候,其URL地址需要变动一下,如:/user!addUser.action
第三种:需要参数配置,具体如下:
1、页面提交地址需要改动:
function addUser(){
var myForm=document.forms[0];
myForm.action="user/addUser";
myForm.submit();
}
2、配置文件中则需要配置接收参数的形式,如下:
<action name="*User" class="com.tgb.UserAction" method="{1}User()">
<result name="success">/success.jsp</result>
<result name="success">/error.jsp</result>
</action>
总结:Struts2提交方式无非就这几种,只要熟知一下,看看知道有这几种形式,等用的时候直接找就好了,俗话说不怕不知道,就怕不知道。
首先编写公共UserAction,如下:
public class UserAction extends ActionSupport {
private User user;
//get、set方法省略...
public String addUser() throws Exception {
System.out.println("UserAction.addUser");
return SUCCESS;
}
public String modifyUser() throws Exception {
System.out.println("UserAction.modifyUser");
return SUCCESS;
}
public String delUser() throws Exception {
System.out.println("UserAction.delUser");
return SUCCESS;
}
}
第一种:在配置文件(struts.xml)中配置相同的Action类,但是需要使用方法进行区分,具体如下:
<action name="" class="com.tgb.UserAction" method="addUser()">
<result name="success">/success.jsp</result>
</action>
<action name="" class="com.tgb.UserAction" method="modifyUser()">
<result name="success">/success.jsp</result>
</action>
<action name="" class="com.tgb.UserAction" method="delUser()">
<result name="success">/success.jsp</result>
</action>
第二种: 一个Action处理多个请求,但得需要提交请求的时候带上方法名,例如:user/userManager!addUser。具体如下:
1、配置文件中不用变动,照常如下:
<action name="user" class="com.tgb.UserAction" >
<result name="success">/success.jsp</result>
<result name="success">/error.jsp</result>
</action>
2、页面提交的时候,其URL地址需要变动一下,如:/user!addUser.action
第三种:需要参数配置,具体如下:
1、页面提交地址需要改动:
function addUser(){
var myForm=document.forms[0];
myForm.action="user/addUser";
myForm.submit();
}
2、配置文件中则需要配置接收参数的形式,如下:
<action name="*User" class="com.tgb.UserAction" method="{1}User()">
<result name="success">/success.jsp</result>
<result name="success">/error.jsp</result>
</action>
总结:Struts2提交方式无非就这几种,只要熟知一下,看看知道有这几种形式,等用的时候直接找就好了,俗话说不怕不知道,就怕不知道。
相关文章推荐
- Linux Generating SSH Keys
- JQuery+Strusts1.x无刷新登录
- perl脚本实现限制ssh最大登录次数(支持白名单)
- rsync ssh 数据同步分析
- 搭建SSH时的思考和遇到的几个问题的解决方法
- java struts常见错误以及原因分析
- SSH 使用原理 与解释
- SSH整合中 hibernate托管给Spring得到SessionFactory
- Struts之logic标签库详解
- Linux VPS利用SSH重置ROOT密码的方法
- 通过实例深入学习Java的Struts框架中的OGNL表达式使用
- ssh,scp自动登陆的实现方法
- linux下使用ssh远程执行命令批量导出数据库到本地
- shell脚本实现ssh自动登录功能分享
- linux下ssh安装与scp命令使用详解
- Java的Struts框架中append标签与generator标签的使用
- ssh项目环境搭建步骤(web项目)
- 脚本实现SSH登录邮件报警
- Linux SSH 安全策略 限制 IP 登录方法