Struts2总结Word文件下载.docx
《Struts2总结Word文件下载.docx》由会员分享,可在线阅读,更多相关《Struts2总结Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
执行完Action之后,跳转到对应的页面。
注意:
struts中的所有编码处理都是i18n拦截器处理,所有的表单数据处理都是在系统默认拦截器中获取。
Struts.xml配置文件详解:
<
constantname="
"
value="
>
/constant>
!
--常量:
系统默认配置的量(名字不可改)-->
--常用的常量:
struts.custome.i18n.resources(国际化常量)-->
struts.i18n.encoding(编码方式常量,系统默认采用utf-8编码)-->
动态方法调用:
1.在配置<
action>
的时候,不用指定具体的方法(不用写method=“XXX”);
2.在请求action的路径指定需要执行的方法名即可。
(格式:
action名!
方法名.action)
使用通配符进行模糊匹配:
actionname="
*Calc"
class="
com.zuxia.action.TestAction"
method="
{1}"
>
<
resultname=”名字”>
{1}.jsp<
/result>
/action>
使用“*”号表示模糊匹配的值。
{1}表示占位符,在运行的过程中,被通配符所代替。
在这个Action的配置文件中,都可以使用{1}占位。
Struts2对返回结果页面进行配置:
resultname=”方法的返回值”type=””>
页面路径<
type=””表示页面跳转的方式,默认表示内部跳转。
type=”redirect”表示页面使用外部跳转,注意外部跳转request中的数据将会丢失。
type=”redirectAction”表示跳转的页面将会是一个Action。
resulttype=”redirectAction”>
paramname=”actionName”>
action的名字<
/param>
paramname=”namespace”>
命名空间的名字<
原样输出指定的页面:
resultname="
ok"
type="
plainText"
paramname="
location"
test.jsp<
charSet"
utf-8<
全局结果配置:
--配置全局的结果,跳转页面-->
global-results>
error"
index.jsp<
/global-results>
必须在action的最前面。
全局异常处理:
global-exception-mappings>
exception-mappingresult="
返回的结果名"
exception="
异常类型"
/exception-mapping>
/global-exception-mappings>
在异常处理页面,显示异常的信息:
%@tagliburi="
/struts-tags"
prefix="
s"
%>
异常的信息:
s:
propertyvalue="
exceptionStack"
/>
第三章Struts2的拦截器
1.什么是拦截器?
在用户访问Action之前和之后执行相应的操作,称为拦截器。
例如:
将表单中的数据自动转换到Action的属性,使用的就是一个拦截器。
2.拦截器与过滤器(filter)异同?
a)过滤器是根据用户的地址进行过滤,可以过滤任意路径(包括jsp、html、action等等)。
b)拦截器只能用来过滤action,不依赖于访问的路径。
3.实现自定义拦截器步骤
*用户实现自定义拦截器步骤:
*
*1.继承AbstractInterceptor类,重写intercept()方法。
*2.在struts.xml配置文件中,配置拦截器
*<
interceptors>
interceptorname="
拦截器名"
拦截器所在的类"
/>
/interceptors>
*3.在需要拦截的action中引用拦截器。
action.....>
interceptor-refname="
引用拦截器的名字"
使用拦截器注意事项:
1.在action中使用了自定义拦截器,系统默认的defaultStack拦截器链会失效;
必须使用引入。
2.在引入多个拦截器的时候,推荐使用拦截器链的方式简化拦截器的使用。
firstinter"
com.zuxia.interceptor.FristInterceptor"
interceptor-stackname="
testStack"
<
defaultStack"
/interceptor-stack>
在actin中调用使用如下方式:
action…………>
第四章Struts2的类型转换器
1.Struts2中类型转换分为两种:
a)手动(自定义)转换器
b)自动转换器
2.手动(自定义)转换器(针对特殊属性)
a)在action的类中,必须继承ActionSupport类。
b)定义转换器的类,继承DefaultTypeConvert,重写convertValue()方法。
c)创建配置文件(注意:
1.文件名必须是:
Action的类名-conversion.properties;
2.必须将配置文件存放在Action所在的包中。
)
3.自动转换器(常用的方式)
基本数据类型+String类型都是可以自动转换。
对象类型自动转换:
在input中使用:
对象名.属性名
第五章Struts2的输入验证
一.验证分类:
1.服务器端验证(Java代码来完成验证(Struts的内置验证框架,可以完成服务器端验证))。
2.客户端验证(js验证——在客户端执行,执行的时候依赖与客户度(手动js验证,jquery验证框架进行验证))
二.Struts的内置验证框架:
Struts2中验证有两种方式:
1.手动验证。
2.配置验证框架,自动验证。
三.内置验证框架使用步骤:
1.需要验证的Action必须继承自ActionSupport类。
2.创建验证配置文件。
要求:
a)配置文件必须和action在同一目录。
b)文件名的格式必须是:
Action类名-validation.xml(验证Action中的所有方法)
Action类名-访问Action的名字-validation.xml(只会验证Action中指定的方法)
3.查看内置验证器:
xwork-XXXXX.jar目录中(找到default.xml配置文件)
特别需要注意:
注意哦!
1.使用了验证器之后,如果验证失败;
必须配置<
resultname=”input”>
表示验证失败之后,跳转的页面。
2.如果jsp页面中使用了,Struts的标签;
那么必须让这个jsp页面必须经过struts的核心过滤器,进行过滤;
否则页面不能正常解析struts的标签。
3.基本数据类型,不能使用Struts的内置验证,建议使用包装类。
四.手动验证步骤:
1.继承ActionSupport,重写validate()方法。
在执行Action中具体的方法之前,会先执行validate()方法;
如果有错误,则返回input指定的页面。
(有错误:
super.addFiledError())
手动验证总结:
1.可以在实体中的setXxx()方法进行控制。
2.在validate()方法中进行验证。
第六章Struts2的标签库
Action配置中一定要设置input返回页面
添加验证只要创建验证的xml文件
1.创建xml文件名
验证Action中全部方法
在Action同包下,创建:
Action类名-validation.xml
如:
ValidateAction创建ValidateAction-validation.xml
验证Action中单个方法
--每个方法单独配置一个Action-->
--在Action同包下,创建:
Action类名-action方法配置名称-validation.xml-->
validateAdd"
com.struts2.validator.ValidateAction"
add"
--要创建ValidateAction-validateAdd-validation.xml-->
--使用通配符配置-->
Action类名-action方法对应的名称-validation.xml-->
validate_*"
--要创建ValidateAction-validate_add-validation.xml,validate_add为访问这个action方法的路径-->
注意事项
注意:
1.要验证的方法不能叫input.
2.这样配置在form表单中要在<
formaction="
validate_add"
中action写好名