Struts2配置文件详解
常量配置方法一:
(struts2-core-2.2.1.1.jar\org.apache.struts2下的default.properties文件下可找到以下常量)
1. 乱码解决
<constant name="struts.i18n.encoding" value="UTF-8" /> |
2. 自定义扩展名
<constant name="struts.action.extension" value="do" /> |
3. 设置开发者模式(友好的提示信息)
<constant name="struts.devMode" value="false" /> |
4. 设置配置文件修改好自动修改
<constant name="struts.configuration.xml.reload" value="false" /> |
常量配置方法二:
在src下新建一个struts.properties文件,在该文件下写法如下(以上第四个为例):
struts.configuration.xml.reload=false |
团队协作开发配置:
1) 通过include添加不同人员的配置文件
2) 通过namespace来指定不同的命名空间
配置文件加载顺序:
struts-default.xml--àstruts-plugin.xml--àstruts.xml
package的配置:
包的名称自定义,可以配置多个包,不同的模块可以指定不同的命名空间,extends属性必须直接或者间接继承struts-default;一个package中可以配置多个action
Action的配置:
1) name是url请求名,不需要加后缀(.action)
2) class是处理ur请求对应的java类,class要求为包名+类名,且该类有公共无参构造方法
3) method配置处理请求类的处理方法,默认为execute,方法要满足是公共的,返回值为String,且无参的要求,method与name无关
result的配置(result:结果集):
1) name:匹配请求处理方法的返回值,默认是success
2) type:结果的处理类型,默认是dispatcher(转发)
type的类型(struts.default文件下):
a. chain: 指action链;链接下一个action;执行actionA以后直接执行 actionB,直接actionB后直接执行actionC(用得少),地址栏是执行的第一个action
<result type="chain" > actionB </result> |
b. dispatcher: 转发;和serverlet一致,如果request中有数据到视图显示,那么使用diapatcher
c. redirect: 重定向;如果是重定向到jsp页面,可以直接重定向,如果是重定向到另一个action,需要注意是否配置了action的后缀名,如果要求有后缀名,那么重定向的action一定要加上后缀名
d. redirectAction:重定向到另一个action,不要加action的后缀名,会将前一个action的后缀名自动加上
e. stream: 以流的形式显示,用于文件下载
配置全局结果集:
<global-results> <result name="information">/information.jsp</result> </global-results> |
在action的配置中,如果不配置class属性,将会由默认的action来执行,默认的是ActionSupport类(在struts-default.xml中可看到)
<default-class-ref class="com.opensymphony.xwork2.ActionSupport" /> |
当配置默认的Action所请求的action不存在时,那么执行默认的action,配置方法如下
<defalut-action-ref name="default"/> <default-class-ref class="指定的默认action类的包名+路径 " /> |
通配符的运用:
使用通配符来配置action,可以减少action的配置,“*”表示匹配所有,占位符用如“{ 1 }”表示第1个“*”所代表的内容,以此类推
<action name="menu!*" class="com.action.SysMenuAction" method="{1}" /> |