1.Action的三种实现方式
第一种方式:action类是一个pojo,既不现任何接口,也不继承任何的类
第二种方式:action类实现Action接口
第三种方式:继承ActionSupport类(进行数据验证,显示错误,国际化)
2.使用传统的配置方式访问Action(推存的方式)
继承ActionSupport类,并编写自定义方法
自定义方法要求:必须是public
返回值必须是String,如果返回值为null,就是不跳转任何视图
必须无参数
例如:public String demo(){return "demo";}
给action添加method属性
3.了解通配符访问
public class CustomerAction extends ActionSupport{
public String add(){
System.out.println("--add--");
return SUCCESS;
}
public String update(){
System.out.println("--update--");
return SUCCESS;
}
}
struts配置文件的配置:通配符
<!-- *代表所有 {1}代表占位符 站action中的第一个方法 注意:这两种形式不能混用 -->
<action name="*" class="action" method="{1}">
<result name="success">/success.jsp</result>
</action>
<action name="*_*" class="action" method="{1}{2}">
<result name="success">/success.jsp</result>
</action>
4.实现ServletAPI(request,response)
方法一:直接获得(推荐)
//ServletActionContext.getRequest();获得request对象.
System.out.println(ServletActionContext.getRequest());
System.out.println(ServletActionContext.getResponse());
方法二:实现接口
//方式二:实现接口ServletRequestAware
public class ServletAction02 extends ActionSupport implements ServletRequestAware,
ServletResponseAware{
private HttpServletRequest request;
private HttpServletResponse response;
//得到request接口
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
//得到response接口
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
public String execute() throws Exception {
System.out.println("--ServletAction02--");
System.out.println(request);
System.out.println(response);
return null;
}
}