1、执行完Action之后,跳转到对应的页面。注意:struts中的所有编码处理都是i18n拦截器处理,所有的表单数据处理都是在系统默认拦截器中获取。Struts.xml配置文件详解:/constant!- 常量:系统默认配置的量(名字不可改) - 常用的常量:struts.custome.i18n.resources(国际化常量) -struts.i18n.encoding(编码方式常量,系统默认采用utf-8编码) -动态方法调用:1. 在配置的时候,不用指定具体的方法(不用写method=“XXX”); 2. 在请求action的路径指定需要执行的方法名即可。(格式:action名!方法名.
2、action)使用通配符进行模糊匹配:action name=*Calc class=com.zuxia.action.TestAction method=1 1.jsp/action使用“*”号表示模糊匹配的值。1表示占位符,在运行的过程中,被通配符所代替。 在这个Action的配置文件中,都可以使用1占位。Struts2对返回结果页面进行配置:result name=”方法的返回值” type=”页面路径param name=”actionName”action的名字param name=”namespace”命名空间的名字原样输出指定的页面:result name=ok type=pla
3、inTextparam name=locationtest.jspcharSetutf-8global-resultserrorindex.jsp必须在action的最前面。全局异常处理:global-exception-mappingsexception-mapping result=返回的结果名 exception=异常类型/exception-mapping/global-exception-mappings在异常处理页面,显示异常的信息:% taglib uri=/struts-tags prefix=s %异常的信息:s:property value=exceptionStack/第
4、三章 Struts2的拦截器1. 什么是拦截器?在用户访问Action之前和之后执行相应的操作,称为拦截器。例如:将表单中的数据自动转换到Action的属性,使用的就是一个拦截器。2. 拦截器与过滤器(filter)异同?a) 过滤器是根据用户的地址进行过滤,可以过滤任意路径(包括jsp、html、action等等)。b) 拦截器只能用来过滤action,不依赖于访问的路径。3. 实现自定义拦截器步骤* 用户实现自定义拦截器步骤: * * 1. 继承AbstractInterceptor类,重写intercept()方法。 * 2. 在struts.xml配置文件中,配置拦截器 * inter
5、ceptor name=拦截器名拦截器所在的类 /interceptors * 3. 在需要拦截的action中引用拦截器。action .interceptor-ref name=引用拦截器的名字使用拦截器注意事项:1. 在action中使用了自定义拦截器,系统默认的defaultStack拦截器链会失效;必须使用引入。2. 在引入多个拦截器的时候,推荐使用拦截器链的方式简化拦截器的使用。firstintercom.zuxia.interceptor.FristInterceptor interceptor-stack name=testStack 在actin中调用使用如下方式:actio
6、n 第四章 Struts2的类型转换器1. Struts2中类型转换分为两种:a) 手动(自定义)转换器b) 自动转换器2. 手动(自定义)转换器(针对特殊属性)a) 在action的类中,必须继承ActionSupport类。b) 定义转换器的类,继承DefaultTypeConvert,重写convertValue()方法。c) 创建配置文件(注意:1.文件名必须是:Action的类名-conversion.properties ; 2. 必须将配置文件存放在Action所在的包中。)3. 自动转换器(常用的方式)基本数据类型+String类型都是可以自动转换。对象类型自动转换:在inpu
7、t中使用:对象名.属性名第五章 Struts2的输入验证一验证分类:1. 服务器端验证(Java代码来完成验证(Struts的内置验证框架,可以完成服务器端验证)。2. 客户端验证(js验证在客户端执行,执行的时候依赖与客户度(手动js验证,jquery验证框架进行验证)二Struts的内置验证框架:Struts2中验证有两种方式:1. 手动验证。2. 配置验证框架,自动验证。三内置验证框架使用步骤:1. 需要验证的Action必须继承自ActionSupport类。2. 创建验证配置文件。要求:a) 配置文件必须和action在同一目录。 b) 文件名的格式必须是:Action类名-vali
8、dation.xml(验证Action中的所有方法) Action类名-访问Action的名字-validation.xml(只会验证Action中指定的方法)3. 查看内置验证器:xwork-XXXXX.jar目录中(找到default.xml配置文件)特别需要注意:注意哦!1. 使用了验证器之后,如果验证失败;必须配置表示验证失败之后,跳转的页面。2. 如果jsp页面中使用了,Struts的标签;那么必须让这个jsp页面必须经过struts的核心过滤器,进行过滤;否则页面不能正常解析struts的标签。3. 基本数据类型,不能使用Struts的内置验证,建议使用包装类。四手动验证步骤:1.
9、 继承ActionSupport,重写validate()方法。在执行Action中具体的方法之前,会先执行validate()方法;如果有错误,则返回input指定的页面。(有错误:super.addFiledError()手动验证总结:1. 可以在实体中的setXxx()方法进行控制。2. 在validate()方法中进行验证。第六章 Struts2的标签库Action配置中一定要设置input返回页面 添加验证只要创建验证的xml文件 1.创建xml文件名验证Action中全部方法在Action同包下,创建:Action类名-validation.xml如:ValidateAction创
10、建ValidateAction-validation.xml 验证Action中单个方法- 每个方法单独配置一个Action - 在Action同包下,创建:Action类名-action方法配置名称-validation.xml -validateAddcom.struts2.validator.ValidateActionadd- 要创建ValidateAction-validateAdd-validation.xml - 使用通配符配置 -Action类名-action方法对应的名称-validation.xml -validate_*- 要创建ValidateAction-validate_add-validation.xml,validate_add为访问这个action方法的路径 -注意事项注意:1.要验证的方法不能叫input. 2.这样配置在form表单中要在form action=validate_add中action写好名
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1