您的位置:首页 > 编程语言 > Java开发

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

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

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

<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版本。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: