1、任何一个具备了execute方法的JavaBean都可以在struts2中充当Action的角色。
2、struts2中也为我们提供了一个基本的Action父类----ActionSupport。
3、Action接口有:
8、全局应用
public static final java.lang.String SUCCESS ="success";
public static final java.lang.String NONE = "none";
public static final java.lang.String ERROR = "error";
public static final java.lang.String INPUT = "input";
public static final java.lang.String LOGIN = "login";
public abstract java.lang.String execute() throws java.lang.Exception;
而Actionsupport这个工具类在实现了Action接口的基础上还定义了一个validate()方法,重写该方法,它会在execute()方法之前执行,如校验失败,会转入input处,必须在配置该Action时配置input属性。
public static final java.lang.String NONE = "none";
public static final java.lang.String ERROR = "error";
public static final java.lang.String INPUT = "input";
public static final java.lang.String LOGIN = "login";
public abstract java.lang.String execute() throws java.lang.Exception;
而Actionsupport这个工具类在实现了Action接口的基础上还定义了一个validate()方法,重写该方法,它会在execute()方法之前执行,如校验失败,会转入input处,必须在配置该Action时配置input属性。
4、如果没有为action指定class,默认是ActionSupport
5、如果没有指定result的name属性,默认值为success
6、如果没有为action指定method,默认执行action中的execute() 方法
Action通配符配置方式
<action name="user_*" class="com.lovo.action.UserAction" method="{1}“ >
<result name="success"></result>
<result name="input">/addUser.jsp</result>
</action>
UserAction中有以下两个处理方法:
public String add() throws Exception{
}
public String update() throws Exception{
}
Jsp中如果请求提交项是:user_add.action那就执行add();
如果是user_update.action那就执行update()
7、pstruts2中提供了多种结果类型,常用的类型有: dispatcher(默认值)、 redirect 、 redirectAction 、 plainText
当多个action中都使用到了相同视图,这时我们应该把result定义为全局视图。struts1中提供了全局forward,struts2中也提供了相似功能:
<package ……>
<global-results>
<result name="message">/message.jsp</result>
</global-results>
</package>