Struts2配置文件详解
来源:互联网 发布:唐韦星追王晨星知乎 编辑:程序博客网 时间:2024/06/06 17:33
常量配置(constant)
常量的名字可以在源码中找,如下
在struts.xml中配置
(1)
<!-- 乱码解决 默认是UTF-8,不同版本可能默认不一样 --> <constant name="struts.i18n.encoding" value="UTF-8"/>
(2)
<!--自定义扩展名 --> <constant name="struts.action.extension" value="action,,siggy"/>
(3)
<!--开发者模式,默认false,友好的提示信息,如报错信息很友好,很容易看懂 --> <constant name="struts.devMode" value="true"/>
(4)
<!--设置配置文件修改后自动加载 推荐在开发中使用,需要先开启开发者模式 ,如果这个属性已经为true,那么只需要开启开发者模式就行了 --> <constant name=" struts.configuration.xml.reload" value="true"/>
常量配置方式2:
在src下添加struts.properties(#是注释)
#set extensionstruts.action.extension=action,,siggy
团队协作配置
在struts.xml通过include添加不同人员的配置文件,struts.xmk中只需要写公共的部分,如常量配置
<include file="cn/sxt/struts/user.xml"></include>
配置文件加载顺序
struts-default.xml→struts-plugin.xml→struts.xml
package配置
<!-- 包的名字自定义,可以配置多个,namespace命名空间,窄化处理extends直接或者间接继承struts-default--><package name="default" namespace="/" extends="struts-default"> <action name="login" class="cn.sxt.siggy.LoginAction"> <result name="success">/success.jsp</result> <result name="failed">/login.jsp</result> </action> </package>
注意:extends必须直接或者间接继承struts-default,这个也是第一个加载的配置文件,因为这个配置文件里面包含了设值的过程,不然光凭我们写的这个就是一个普通的class,表单的数据提交后,LoginAction的属性值就不可能自动注入了,而且也包含了转发的过程,根据result name来跳转页面,还有一系列的拦截器,都是struts-default里面的内容。调试(在LoginAction里面输出属性的值)发现,如果把extends去掉就会报错,而且里面的值也不会注入,但是extends写了但是没有任何result,值也会被注入,所以这就是必须继承struts-default的原因和作用
action配置
一个package可以配置多个action
<!-- name是url请求名,不需要加后缀(.action) class是处理url请求对应的java类,class必须是全限定名 并且该类拥有无参的构造方法 method配置处理请求类的方法,默认是execute,方法要满足公共的,无参,返回值是String,这就造成一个action可以处理多个请求 --> <action name="login" class="cn.sxt.siggy.LoginAction" method="execute"> <result name="success">/success.jsp</result> <result name="failed">/login.jsp</result> </action>
result配置
<!--result是结果集 name:匹配请求处理方法的返回值,默认是success type:结果处理类型,默认是dispatcher转发 type的类型有很多,包含在struts-default中,下面举几个常见的 chain:值action链,执行actionA后直接执行actionB后执行actionC,后面写的是对应下一个action的值,地址栏显示的是执行的第一个action,用的较少 dispatcher:转发,和servlet一样,如果request里面有数据需要显示到视图中,那么使用dispatcher redirect:重定向,如果重定向到一个jsp页面,可以直接重定向,但是如果是重定向到另一个action,那要注意是否配置了后缀名,如果要求有后缀名,一定要加上后缀名 redirectAction:重定向到另一个action,不用加后缀名,会将前一个action的后缀名自动加上 stream:以流的形式显示,文件下载 --> <result name="success" type="dispatcher">/success.jsp</result> <result name="failed">/login.jsp</result>
全局配置
<!-- 配置全局结果集,在package里面,action之前--> <global-results> <result name="failed">/login.jsp</result> </global-results>
默认配置
在action中,如果不去配置class属性,将会由默认的action类来执行,默认的action类是ActionSupport(struts-default.xml中最后),里面有execute方法返回success,也可以自定义,但是注意配置的位置
<default-class-ref class="com.opensymphony.xwork2.ActionSupport" />
其实这么属性配置的位置和顺序都可以在dtd里面查看
默认action配置
<!--配置默认的Action 当所请求的action不存在时,那么执行默认的action--><default-class-ref name="default"/>
通配符
<!--使用通配符来配置action,可以减少action的配置-,*表示所有,占位符{1}表示第一个*号表示的内容-><action name="user*" class="cn.sxt.LoginAction" method="{1}">
但是这种情况无论是什么都会与*匹配成功,如果没有对应的方法就会报错,那么默认action配置就没用了,匹配后找不到不会去调用默认的action
- Struts2 配置文件详解
- struts2配置文件详解
- struts2属性配置文件详解
- struts2属性配置文件详解
- Struts2配置文件详解
- Struts2配置文件详解
- struts2 配置文件详解
- struts2配置文件详解
- Struts2配置文件详解
- struts2配置文件详解
- struts2配置文件详解
- Struts2配置文件 result详解
- struts2配置文件详解
- Struts2 配置文件 详解
- Struts2配置文件详解
- struts2 配置文件详解
- Struts2配置文件详解
- struts2 配置文件详解
- TCP建立连接和断开连接过程
- 正则表达式中的贪婪匹配和懒惰匹配
- 垂直竖向的Android TabLayout
- js 获取最后一个字符
- 设计模式之单例模式(线程安全)
- Struts2配置文件详解
- 比特币原理整理(一)
- java主线程等待所有子线程执行完毕在执行
- win10下导jar包入Maven仓库出错的解决方法
- Learning to remove soft shadows
- php use 操作符闲话
- 通过View的OnClickListener监听机制的模型,来解析回调机制
- MAC 使用pycharm出现ImportError: No module named numpy 解决方法
- Python 3 之数据类型