最近学了一点struts2的东西 和大家分享一下,因为是自学可能不完全对,希望能和大家交流交流
1.struts的6大配置
default.properties
--> struts-core-2.3.x.jar\org.apache.struts2\default.properties
--> 默认的常量配置
struts-default.xml
--> 结果类型和拦截器的定义,它内部定义了一个包:struts-default,我们自定义的包需要继承这个包。
struts-plugin.xml
--> 每个struts2插件都有一个struts-plugin.xml配置文件,它是插件自己的配置文件。
struts.xml
--> 我们真正要写的配置文件
struts.properties
--> 我们可以写的配置文件,我们很少使用它。它可以用来配置常量
web.xml
--> 可以配置常量,常量需要配置给StrutsPreparAndExecuteFilter这个过滤器的初始化参数!优先级最高。
2. struts.xml配置信息
<package> -- <struts>的子元素
* name --> 随便起名称,但如果在struts.xml中有多个<package>,那么必须保存<package>的name是唯一的。
* namespace --> 通常设置为“/”,它与<action>的name一起来确定<action>的访问路径。
* extends --> 父包,子包会继承父包中所有的内容。通常使用struts-default!这个包定义在struts-default.xml文件中。
<action> -- <package>的子元素
* name --> 与<package>的namespace一起决定访问路径,注意,name不能有.action
* class --> 当前action的类名。
<result> -- <action>的子元素
* name --> 结果视图名称,默认值为success,与Action请求处理方法的返回对应。
* 内容 --> 结果视图的路径
* type --> 结果视图的类型,例如有转发到jsp、重定向到jsp、转发到action、重定向到action等
<default-class-ref> -- <package>子元素
* class --> 指定<action>元素的class属性默认值。父包中定义为com.opensymphony.xwork2.ActionSupport
<default-action-ref> -- <package>子元素
* name --> 引用某个<action>的name!当请求路径找不到匹配的<action>时,那么执行指定action。
<include> -- 父元素为<struts>,用来包含其他配置文件。
* file --> 要包含的配置文件。
3. 配置常量
<constant> -- <struts>的子元素
* name --> 常量名
* value --> 常量值
常用常量:
struts.i18n.encoding=UTF-8 --> 默认值为utf-8,等同与request.setCharacterEncoding("utf-8")。
struts.action.extension=action --> 默认值为action,,,表示Action的请求路径的后缀可以是action或无后缀。
struts.serve.static.browserCache=true --> 默认值为true,表示浏览器会缓存页面
struts.devMode=false --> 是否为开发者模式,默认为非开发者模式。开发者模式会有详细的异常信息。
struts.configuration.xml.reload=false --> 在修改了struts的配置文件后是否自动加载,默认为false。
4.struts2中,actionerror与fielderror的区别
(1).actionerror里面加入的为错误信息,为一个集合
fielderror里面加入的为一个键值对,为一个map
this.addFieldError("birthday","birthday should be before gradution");
this.addActionError("birthday should be before gradution");
(2).在struts标签中,能自动显示fielderror中的错误,根据map里面的key找到错误信息
actionerror显示不出来,需在jsp页面上加上<s:actionerror/>
(3).如果不想显示struts自带的类型转换错误,可以将form的表单的theme设置为simple,这时
struts表单就完成了一个html表单
<s:form action="register" theme="simple">
5.国际化文件四种分类:
action局部,包局部,全局,临时
|
|