Action动作类
在Struts2的应用开发中,Action作为框架的核心类,实现对用户的请求处理,Action类被称为业务逻辑控制器
一个Action类代表依次请求或调用,每个请求的动作都对应一个Action类,一个Action类是一个独立的工作单元
Action就是用来处理一次用户请求的对象
实例代码:
第一种
/* * 可作为一个POJO类 * 在当前类中,要有一个公共的无参的构造方法,和一个execute()方法 该方法作用:是Action类 * 的默认请求处理方法 * execute()方法的要求如下: * 方法的权限修饰符为public * 返回一个字符串,表示指示的下一个页面的Result * 方法没有参数 * */
public class ThirdAction { private String username; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String execute() { /* * 在当前方法中调用service层 */ HttpServletRequest request = ServletActionContext.getRequest(); HttpServletResponse response = ServletActionContext.getResponse(); System.out.println(request); System.out.println(response); return "success"; } }
第二种:编写action类 实现action接口
public class FourActrion implements Action{ /* * 定义Action接口 * 接口里包含的一些结果字符串 * Action接口中,定义默认五中逻辑视图名称 * public static final String SUCCESS=”success”; // 数据处理成功 * public static final String NONE=”none”; // 页面不跳转 相当于 return null; * public static final String ERROR=”error”; // 数据处理发送错误 * public static final String INPUT=”input”; // 主要权限认证 比如:输入错误 * public static final String LOGIN=”login” // 权限认证(登录页面) */ @Override public String execute() throws Exception { //在这可以直接使用SUCCESS不需要“success”
return SUCCESS; } }
第三种:继承ActionSupport 接口里也包含了Action接口里包含的结果字符串 推荐使用
public class fifthAction extends ActionSupport implements ServletRequestAware,ServletResponseAware{ private HttpServletRequest request; private HttpServletResponse response; @Override public void setServletResponse(HttpServletResponse response) { this.response = response; } @Override public void setServletRequest(HttpServletRequest request) { this.request = request; } public String execute() throws Exception { System.out.println(request); System.out.println(response); return SUCCESS; }