struts2的默认配置文件是struts.xml,放置的位置是WEB-INF/classes目录下,模板

1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE struts PUBLIC
3     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
4     "http://struts.apache.org/dtds/struts-2.0.dtd">
5 <struts>
6 </struts>

如果想要使用这个配置文件,就要在web.xml文件里面配置,以启动struts2框架。

1 <filter>
2         <filter-name>struts2</filter-name>
3         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
4     </filter>
5     <filter-mapping>
6         <filter-name>struts2</filter-name>
7         <url-pattern>/*</url-pattern>
8     </filter-mapping>

在很多应用中,会出现很多个Action,如果都写在一个struts.xml文件中,会让结构变的难以维护,这种情况下,可以将一个struts.xml文件按action种类分解成多个struts配置文件,比如说关于用户的:struts-user.xml,关于管理的:struts-manage.xml,然后在总struts配置文件中调用

1 <struts>
2     <include file="struts-user.xml"/>
3     <include file="struts-manage.xml"/>
4 </struts>

下面谈谈配置文件的内容,关于struts-2.0.dtd文件里面的dtd结构就不罗列了,到处都可以找到,这里主要介绍几个常用的配置。

首先要说的是,常量可以在struts-default.xml、struts-plugin.xml、struts.xml、struts.properties、web.xml5个文件中配置,按前面的顺序依次加载,配置有重复的话,后面文件会覆盖掉前面的配置,最好都在struts.xml文件里面统一配置。

1、<constant name="struts.ui.theme" value="simple" />

在JSP页面中,会用到struts2的s标签,而这个标签会有一个默认的格式,有的时候会打乱页面的布局,可以使用上面这个配置来禁止s标签的默认格式生效。

2、<constant name="struts.objectFactory" value="spring" />

当struts2和spring集成时,用这个配置指定由spring负责action对象的创建。这样就可以用到spring的反射技术,更方便的编程。

3、<constant name="struts.action.extension" value="do" />

这个是关于action的后缀定义,在上面设置为.do,如果想要设置更多的类型,可以使用value="do,action,ss",等把不同的后缀用逗号隔开。

4、<constant name="struts.i18n.encoding" value="true" />

指定默认编码集,作用于HttpServletRequest的setCharacterEncoding方法和Freemarker、velocity的输出,默认的编码集是UTF-8。

5、<constant name="struts.serve.static.browserCache" value="false" />

有时修改了部分内容,但是在浏览器上没有体现出来,这是因为缓存设置的问题,上面这个就是设置浏览器是否缓存静态内容,默认值为true,开发阶段最好关闭。

6、<constant name="struts.configuration.xml.reload" value="true" />

当struts配置文件被修改后,系统是否自动加载该文件,默认值为false,开发阶段打开就节省了好多时间。

7、<constant name="struts.enable,DynamicMethodInvocation" value="false" />

设置struts2是否支持动态方法调用,即通过!+方法名的方式,默认值为true,这个配置,各有所爱吧,不过统一方式访问还是比较好的,我选择关闭。

8、<constant name="struts.multipart.maxSize" value="2097152" />

这个配置是struts2上传文件的大小限制,单位为字节,上面的2097152字节就是2M,另外需要注意的是,这个文件大小,在多文件上传时是总大小。

9、<constant name="struts.devMode" value="true" />

在开发模式下使用,可以打印出更详细的错误信息。

后面就是action的配置

 1 <package name="user" namespace="/user" extends="struts-default">
 2         <action name="op_*" class="userAction" method="{1}">
 3             <result>/success.jsp</result>
 4         </action>
 5         <action name="ck_*" class="checkAction" method="{1}">
 6             <result name="input">/index.jsp</result>
 7             <result name="show">/show.jsp</result>
 8             <result name="check" type="stream">
 9                 <param name="contentType">text/html</param>
10                 <param name="inputName">inputStream</param>
11             </result>
12         </action>
13     </package>

在这个配置里面还可以注入值,在<action></action>里面加上<param name="arg">value</param>,然后在action类里面提供arg的getset方法,就可以直接在跳转页面${arg}直接访问到数据value。关于通配符参考前面的S2SH实例说明。


      此文部分内容来源网络。如有侵犯您的版权问题,请来消息至电子邮件DyEngima&163.com(&换成@),经核实后会在文章内部标明来源。
转载请注明来源http://www.blogjava.net/DyEnigma/
签名:有能力、有担当、有情义的人才能称之为男人,而不是由性别决定。