要运用好struts等框架最好 将其背后的机理搞明白透彻。 回顾: ₪下载 ₪新建web工程 ₪添加lib ₪修改web.xml ₪添加jsp+action类 ₪配置struts.xml ₪部署运行
- struts 工作流程
₪1. Struts 2的工作流程
■Struts 2框架中的配置文件struts.xml会起映射作用,它会根据“”来决定调用用户定义的哪个Action类。
■例如在项目Struts 2中,请求为struts.action,前面“”的部分是“struts”,所以在struts.xml中有个Action类的name为“struts”,这表示该请求与这个Action来匹配,就会调用该Action中class属性指定的Action类。
■但是在Struts 2中,用户定义的Action类并不是业务控制器,而是Action代理,其并没有和Servlet API耦合。所以Struts 2框架提
供了一系列的拦截器,它负责将HttpServletRequest请求中的请求参数解析出来,传入到用户定义的Action类中。
■(6)ActionSupport类 ActionSupport类为Action提供了一些默认实现,主要包括预定义常量、从资源文件中读取文本资源、接收验证错误信息和验证的默认实现。 下面是ActionSupport类所实现的接口:
public class ActionSupport implements Action, Validateable, ValidationAware,
TextProvider, LocaleProvider,Serializable {
}
Action接口同样位于com.opensymphony.xwork2包,定义了一些常量和一个execute()方法。
public interface 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;
}
- ₪Struts 2数据验证有两种实现方式: ■Action类中validate方法 ■继承ActionSupport ■覆写validate方法(或者新建命名规则为validata*的方法) ■增加“input”的result ■JSP页面中用标签 ■验证框架(xml) ■位置:与Action类同一路径下 ■命名: X
-validation.xml X - -validation.xml 校验器:conversion validator 、date validator 、double validator 、email validator 、expression validator 、fieldexpression validator 、int validator 、regex validator 、required validator 、requiredstring validator 、stringlength validator 、url validator 、visitor validator