实现Action类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现Action类相关的知识,希望对你有一定的参考价值。
实现Action类
1.Action类的作用:
(1)封装HTTP的请求参数;
(2)处理用户请求;
(3)封装处理结果。
2.Action类是什么,在Action类中应该包含什么:
Action类就是一个POJO。
Action类中包含的内容:
(1)实例变量;
(2)有关的setter、getter方法(必须要有这些方法,系统通过这些方法处理请求参数);
(3)处理请求参数的逻辑方法(没有参数的方法),至少要有个execute()方法;
(4)可以有用来封装处理结果的实例变量。
3.如何实现Action类:
(1)直接写一个Action类,不继承任何父类也不实现任何的接口:
package testAction; public class Test_2Action { //封装Http请求的实例变量 private String username; private String password; //settrt、getter方法 public void setUsername(String username){ this.username = username; } public String getUsername(){ return this.username; } public void setPassword(String password){ this.password = password; } public String getPassword(){ return this.password; } //处理请求的方法 public String execute()throws Exception{ if(getUsername().equals(getPassword())){ return "success"; }else{ return "error"; } } }
(2)实现Struts2提供的Action接口:
接口是规范!
package testAction; import com.opensymphony.xwork2.Action; public class Test_3Action implements Action{ //封装Http请求的实例变量 private String username; private String password; //settrt、getter方法 public void setUsername(String username){ this.username = username; } public String getUsername(){ return this.username; } public void setPassword(String password){ this.password = password; } public String getPassword(){ return this.password; } @Override public String execute() throws Exception { // TODO Auto-generated method stub return SUCCESS; } }
(3)继承Struts2提供的ActionSupport基类:
Struts2提供的ActionSupport基类也实现了Action接口,在ActionSupport类中有许多用于处理请求参数的方法,ActionSupport类完全符合一个Action类的规范,因此我们可以直接使用其作为业务控制器。
当我们配置Action时,没有为其添加class属性,这时系统会默认ActionSupport类为处理请求的Action类。
以上是关于实现Action类的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向类加载器 ClassLoader ( 类加载器源码简介 | BaseDexClassLoader | DexClassLoader | PathClassLoader )(代码片段