<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<!-- struts 在运行的时候会加载这个总配置文件:src/struts.xml -->
<struts>
<!--
struts 常量:
struts 中的默认访问后缀:
struts1 的默认访问后缀是 .do;
struts2 的默认访问后缀是 .action;
如何修改默认访问后缀:
在 struts.xml 中通过常量修改:如下
value="action,," 是默认值,表示后缀为 action,或者不写都可以;
如果 value="action" 表示后缀必须写 action,如果不写会报错;
value="action,do,abc," 表示后缀为 action,或者 do,或者 abc,或者不写,都可以;
-->
<constant name="struts.action.extension" value="action,do,abc,"/>
<!-- struts 中常用的常量:
指定默认编码集,作用于 HttpServletRequest 的 setCharacterEncoding 方法和 freemarker、velocity 的输出;
<constant name="struts.i18n.encoding" value="UTF-8"/>
设置浏览器是否缓冲静态内容,默认值为 true(生产阶段使用),开发阶段最好关闭;
<constant name="struts.serve.static.browserCache" value="false"/>
当 struts 的配置文件修改后,系统是否自动重新加载该文件,默认值为 false(生产环境使用),调试环境可以打开;
<constant name="struts.configuration.xml.reload" value="true"/>
开发模式下使用,这样可以打印出更详细的错误信息;
<constant name="struts.devMode" value="true"/>
默认的视图主题;
<constant name="struts.ui.theme" value="simple"/>
与 spring 集成时,指定由 spring 负责 action 对象的创建;
<constant name="struts.objectFactory" value="spring"/>
设置是否支持动态方法调用,该属性的默认值是 true。如果需要关闭动态方法调用,可以设置为 false;
<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
上传文件的大小限制;
<constant name="struts.multipart.maxSize" value="10701096"/>-->
<!-- 总配置文件中引入其他所有的配置文件 -->
<include file="com/struts/demo/user.xml"/>
</struts>
其中动态方法调用:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="user" extends="struts-default">
<!--
动态方法调用:
配置 action 的时候可以不指定 method 属性,地址栏输入:http://localhost:8080/struts02/user!register,
user!register 中的 user 为 action 的名字;
!register 表示调用 action 中指定类("com.struts.demo.UserAction")的 register 方法;
-->
<action name="user" class="com.struts.demo.UserAction">
<result name="register">/register.jsp</result>
</action>
</package>
</struts>