action的编写方式和多方法调用

1.Action的编写方式(3种形式): (1).支持使用POJO来做Action.(不推荐使用) 优点:和Struts2解除耦合. 缺点:
为了解决上述问题,Apache 定义了编写Action的规范:形式2:
public class Action{ 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"; public String execute() throws Exception; }
(2).定义一个类实现于com.opensymphony.xwork2.Action接口.(不推荐使用) public class LoginAction implements Action{ public String execute() throws Exception{ return SUCCESS; } } (3).上述解决方案不错哦,但是,不支持数据校验,文本信息设置,国际化等功能. 所以开发中: 定义一个了继承于com.opensymphony.xwork2.ActionSupport类 public class LoginAction extends ActionSupport{ public String execute() throws Exception{ return SUCCESS; }
}
2.Action中多方法的调用: 1.动态方法调用:DMI 请求的时候: actionName !方法名 指定调用Action哪个方法 默认情况下DMI是关闭的.要使用先配置支持动态方法调用的常量:
例如:struts.xml没有指定method属性但是product!add.action 就会执行ProductAction的add方法 官方是不推荐使用. 默认是关闭(false)的 2.通配符形式访问:*
在class、method属性及
*_*代表匹配两个字符串 {1} 匹配UserAction 用于执行class {2} 匹配login用于指定method执行方法 和结果页面
总结: 使用通配符 *: 0到N个字符 {1}:表示第一个*的值. {2}:表示第二个*的值.