基本配置:
<struts>
<constant name="struts.devMode" value="true" />
<constant name="struts.action.excludePattern" value="/static/.*?" />
<package name="base" namespace="/" extends="json-default">
<global-results>
<result name="input">/error.jsp</result>
<result name="success">/${pageName}</result>
<result name="json_success" type="json">
<param name="root">messages</param>
</result>
<result name="chain_success" type="chain">${url}</result>
</global-results>
</package>
<package name="all" namespace="/" extends="base" strict-method-invocation="false">
<action name="*_*" class="{1}" method="{2}"/>
</package>
</struts>
其中pageName,messages,url由ActionContext.getContext().put("pageName","")形式填入
需要其他配置可以自动加入例如拦截器
<package name="user" namespace="/" extends="struts-default">
<interceptors>
<interceptor name="myInte_AAA" class="com.interceptor.MyInterceptor"></interceptor>
</interceptors>
<action name="login" class="com.action.UserAction" method="login">
<result>/main.jsp</result>
<interceptor-ref name="myInte_AAA"></interceptor-ref> <!-- 自定义拦截器(当引入的使用,默认拦截器就不再引用了,需要手动引用) -->
<interceptor-ref name="defaultStack"></interceptor-ref> <!-- struts2框架的默认拦截器 -->
</action>
<action name="addUser" class="com.action.UserAction" method="addUser">
<result name="addUser">/reg.jsp</result>
</action>
</package>
常量:
<constant name="struts.i18n.encoding" value="UTF-8" />//指定默认编码集 作用于HttpServletRequest的SetCharaterEncoding方法和 freemarker,velocity(模板技术) 输出
<constant name="struts.action.extension" value="do,action..." /> //指定请求后缀 ,多个用逗号分开
<constant name="struts.serve.static.browserCache" value="false" /> //指定浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭
<constant name="struts.Configuration.xml.reload" value="true" /> //指定struts配置文件修改后,系统是否自动重新加载该文件,默认为false(生产环境下用),开发阶段最好打开
<constant name="struts.devMode" value="true" /> //开发模式下使用,这样可以打印出更详细的错误信息
<constant name="struts.ui.theme" value="simple" /> //指定默认的视图主题(Struts2 中有一些标签使用了视图主题)
<constant name="struts.objectFacvtory" value="spring" /> //指定创建Action 对象的工厂类(本例:与 spring集成时,指定由sping负责Action的创建)
<constant name="struts.enable.DynamicMethodInvocation" value="false" /> //指定Struts2 是否支持动态方法调用
<constant name="struts.mutipart.maxSzie" value="10701096" /> //设定上传文件的大小(不是指一个,是指一组)
<constant name="struts.multipart.saveDir" value="" /> //设置上传文件的临时目录
<constant name="struts.ognl.allowStaticMethodAccess" value="true" /> //开启ognl调用静态方法
<constant name="struts.action.excludePattern" value="/static/.*?" /> //对static文件夹下的静态资源放行(struts2对static文件夹默认为过滤掉的)
strut2.xml与error.jsp下载地址https://download.csdn.net/download/qq_38821440/10992163
其中error.jsp包含各种错误代码的出现情况如400,404,500等。