开启struts2自带的开发模式常量

在以前的开发中,当修改一些配置时总是不能及时地更新到服务器,我们总会重新部署或重启来更新改变的内容,在struts2中可以通过一个常量来达到此目的。即在struts.xml中的<struts>元素下增加如下内容:<constant name="struts.configuration.xml.reload"value="true" /> 这样配置后,当配置文件修改保存时就会及时更新到服务器中。其它一些常量:

<!-- 指定WEB应用的编码集,相当于调用HttpServletRequest.setCharacterEncodint方法,如果使用了velocityfreemarker,它也用于指定输出的编码格式 -->

    <constant name="struts.i18n.encoding" value="UTF-8"/>

    <!-- 指定请求后缀为.action,指定多个请求后缀用逗号分隔 -->

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

    <!--设置浏览器是否缓存静态内容,建议:开发阶段关闭,运行时开启  -->

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

    <!--struts.xml配置文件修改后,系统是否重新加载该文件,开发阶段打开此功能  -->

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

    <!-- 开发提示:出错时打印更详细的信息-->

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

<!-- 指定请求的后缀可以是.do.action-->

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

注意:在struts2.1.6版本中存在一个bug:即配置了struts.i18n.encoding常量也不能解决中文乱码问题,原因是此版本在获取请求参数后才调用了setCharacterEncoding()方法进行编码设置。解决此bug的方法是配置一个filter,并在doFilter方法中增加如下代码:request.setCharacterEncoa2.1.8版本中解决了此问题及2.1.6中存在的其它bug,建议新项目使用2.1.8版本。

原文地址:https://www.cnblogs.com/mrcharles/p/11879884.html