. ActionSuppor是Action的子类
. action类默认实现Action接口,可以不写 implements Action
public class ActionSuppor implements Action, Validateable,ValidationAware,Serializable{} // Validateable 用于实现验证的接口,TextProvider 文本支持,Serializable //一个Action可以实现Action接口。也可以继承ActionSupport.建议继承ActionSupport。 //继承ActionSupport后里面的execute方法可实现,也可以不实现。因为ActionSupport已经实面execute方法并返回"success";
. Servlet是单例多线程的,而Action是多例的。每次请求重新创建此类的实例。
. execute方法,是struts2默认调用的方法。它必须拥有一个字符串类型的返回值。
返回success字符串,将在<result/>中查到<result name="success">的元素。 如果在配置<result/>时没有指定name属性,则默认为name=success. 在继承了ActionSupport之后,也可以直接使用SUCCESS静态常量。此静态常量值,在Action接口中定义。. 动态方法调用:
调用action类中其它方法: 使用"!" //例如:. action的url搜索顺序:
首先查找aaa/bbb/ccc/的namespace。如果没有则查找aaa/bbb/,如果再没有则查到aaa/直接到到为止, 如果都没有找到则抛出404的异常信息. action的后缀:
.action是struts的默认后缀 可以修改struts-default.properties文件,修改它的后缀名。 但建议不要修改此文件,可以将此配置在struts文件中声明以覆盖struts-default.properties的配置。. 在Action类中获取参数的方式:
1)属性驱动 - 就是将所有要接收的参数声明成Action的成员变量; //使用action类的属性接收用户输入 //使用领域对象接收用户输入
2)模型型驱动 - 实现一个接口 (ModelDriver); //使用ModelDriven的方式接收用户输入
3)使用原生的ServletAPI
4)使用注入的ServletAPI