在Struts2应用的开发过程中,针对不同用户请求编写相应的Action实现类是最为频繁的工作。Struts2对Action实现类没有太多的特殊要求,一个拥有返回String结果的execute()方法的普通Java类,这使得Action实现类与Struts2完全解耦,便于测试。
编写Action类的最简单方法就是实现Struts2的Action接口或继承Struts2的ActionSupport类,而且在Action类中通过调用ActionContext类与ServletActionContext类就能访问Servlet API。
public interface Action{ //定义5个静态常量字符串 public static final String SUCCESS="success"; public static final String NONE="none"; public static final String ERROR="error"; public static final String INPUT="input"; public static final String LOGIN="login"; //Action接口的execute()方法 public String execute() throws Exception; }
值得注意的是,Struts2直接使用Action封装请求参数与处理结果,在Action实现类中要充分考虑设置于请求参数同名的属性,并为其放置setXXX()/getXXX()方法对。