struts2.3.32中文乱码问题解决方案

来源:互联网 发布:嵌入式linux 快速启动 编辑:程序博客网 时间:2024/05/21 17:16

struts2.3.32中文乱码问题解决方案

struts2.3.32中文乱码解决方法其实很简单,您只需按照以下几个步骤操作即可:
1、在“struts.xml”配置文件里添加一个“constant”标签,name属性设置为“struts.i18n.encoding”,value设置为“UTF-8”,如下代码所示:
<struts>    <!-- Add packages here -->    <constant name="struts.devMode" value="true"/>    <constant name="struts.i18n.encoding" value="UTF-8"></constant>        <package name="action" namespace="/" extends="struts-default">    <default-action-ref name="index"></default-action-ref>        <action name="index" class="com.java.struts.index" method="add">            <result name="success">                /Hello.jsp            </result>        </action>    </package></struts>
2、重启tomcat,我们会发现使用“post”方法已经可以支持中文了,但“get”依然不行。
3、打开tomcat安装目录下的conf/server.xml文件,找到这样一个“connector”标签:
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
在此标签里添加一个“URIEncoding”属性,值为“UTF-8”;
4、此时已经可以用“get”方式接受中文参数了,但是,当我们重启tomcat之后又不行了,原因何在呢?如果我们再次打开“server.xml”文件会发现,刚修改过的connector标签又被修改成原样了!
是的,如果你用的eclipse开发的就会出现这种情况,因为每当Tomcat服务器在Eclipse中启动时,会自动发布Eclipse中部署的项目,但是我的项目是自己手动在外面部署的,Eclipse只认得在它里面部署的项目,因此它会创建一个新的server.xml文件覆盖原来的文件,里面只有Eclipse中部署的项目。
5、Ecplise项目中有一个Server项目,有一个Tomcat v7.0 Server at localhost-config,里面也有server.xml和content.xml,替换成你修改后的文件。Tomcat重新发布时会用这里的配置文件覆盖Tomcat下的conf下的文件。
server



原创粉丝点击