1. 自定义类实现Action接口---第一种实现方式
Action 接口提供一组 常用的内置的逻辑视图名称:
SUCCESS 成功视图,默认值
NONE 没有结果视图,用户自己生成响应数据
ERROR 错误视图
INPUT 输入视图 (数据输入非法,要求用户重新输入)
LOGIN 登陆视图 (如果用户未登陆,使用登陆视图)
package cn.csw.struts2.action;
import com.opensymphony.xwork2.Action;
public class HelloActionOne implements Action{
public String execute() throws Exception {
// TODO Auto-generated method stub
return SUCCESS;
}
}
2. 自定义类继承ActionSupport类---第二种实现方式
继承ActionSupport相当于间接实现Action接口,该类提供了更多功能,如数据校验、 国际化等,用的最多,使用的时候需要手动覆盖execute()。
package cn.csw.struts2.action;
import com.opensymphony.xwork2.ActionSupport;
public class HelloAction extends ActionSupport{
@Override
public String execute() throws Exception {
System.out.println("配置");
return SUCCESS;
}
}
3. 自定义POJO(了解)---第三种实现方式
POJO(Plain Old Java Object简单的Java对象),实际就是普通的JavaBean:没有父类,没有接口,干净对于这样一个Action的执行,struts2使用反射的机制来进行调用执行。
【注意】关于execute方法的编写要求,必须满足:
public修饰符
String返回值
无参数
package cn.csw.struts2.action;
public class HelloActionThree {
/**
* 必须编写如下方法:方法名、返回值类型、参数列表、访问修饰符必须一致
*/
public String execute() throws Exception {
System.out.println("MyAction3运行了...");
//这时候就不能使用结果视图了,可以自定义字符串
return "none";
}
}
二. Action调用执行
1. 通过设置method属性调用Action业务方法
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
2. 使用通配符来简化路径和Action业务方法的映射配置
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">