struts2中action编写的3种方式
来源:互联网 发布:linux怎么安装vmtools 编辑:程序博客网 时间:2024/06/06 08:30
struts2作为一个成熟的控制层框架,对于控制器类的编写要求极为宽泛,也大大增加了开发的方便程度。同时,struts2还提供了一些接口和工具类来帮助大家编写action。下面我就从最简单的action类到实现接口开发action类,再到继承工具类来开发action,仅供大家参考和体会框架开发的便捷性。
方式1:手动编写action类
package com.js.action;/** * 最简单的Action=私有属性+属性的getters和setters+execute()方法 * @author jiangshuai * */public class LoginAction {//接前台参数private String username;private String password;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String execute()throws Exception{if(getUsername().equals("admin")&&getPassword().equals("1")) {return "success";}else {return "error";}}}
方式2:实现Action接口
package com.js.action;import com.opensymphony.xwork2.Action;import com.opensymphony.xwork2.ActionContext;/** * 实现Action接口的方式开发action * 该接口默认提供了一些返回值常量 * @author jiangshuai * */public class LoginAction2 implements Action {private String username;private String password;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String execute() throws Exception {if(getUsername().equals("admin")&&getPassword().equals("1")) {ActionContext.getContext().getSession().put("user", username);return SUCCESS;}else {return ERROR;}}}
方式3:继承ActionSupport类
package com.js.action;import javax.swing.plaf.synth.SynthScrollBarUI;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;/** * 继承ActionSupport类 * 该类默认实现了Action接口和Validate接口,提供了数据校验功能 * @author jiangshuai * */public class LoginAction3 extends ActionSupport{private String username;private String password;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String execute() throws Exception {if(getUsername().equals("admin")&&getPassword().equals("1")) {ActionContext.getContext().getSession().put("user", username);return SUCCESS;}else {return ERROR;}}public void validate(){System.out.println("开始校验...");if(getUsername()==null||getUsername().trim().equals("")){addFieldError("username","user.required");}if(getPassword()==null||getPassword().trim().equals("")){addFieldError("password","pass.required");}}}
阅读全文
0 0
- struts2中action编写的3种方式
- struts2中action的3种实现方式
- ssh中struts2的action的编写
- Struts2—Action编写方式
- Struts2的Action中方法的几种访问方式
- struts2中 Action获取表单参数的几种方式
- struts2中 Action获取表单参数的几种方式
- struts2中 Action获取表单参数的几种方式
- struts2 Action中取得request,session的四种方式
- struts2中,action访问servlet api的两种方式
- struts2中Action接收前台数据的三种方式
- struts2中Action访问servlet的两种方式
- struts2中action访问的2种方式
- Struts2中action映射的四种配置方式
- struts2中 Action获取表单参数的几种方式
- struts2在Action中接收参数的三种方式
- Struts2中Action内的两种异常处理方式
- Struts2中Action的N种开发方式
- 前缀和,LCA(CRB and Tree,HDU 5416)
- SQL Server角色成员身份和权限简介
- muduo源码分析之TcpServer
- lua语言学习三变量
- php递归遍历xml
- struts2中action编写的3种方式
- 快速幂算法
- F
- 学习Promise
- Google Guava--让java代码更加优雅
- PAT 1044火星数字
- UCOSii-信号量
- C语言指针专题——使用指针要注意这些
- json解析——fastjson