问题如题:
网上找了很多关于JAVA EE中文乱码的问题:
1、页面中添加 utf-8的源文件 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 无效
2、因为使用了spring,所以在web.XML中写入了过滤器
<!--解决页面乱码问题 -->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
但还是无效
3、在拿取参数的时候,先设置成utf-8来解析 request.setCharacterEncoding("utf-8"); 依然无效
4、最终,查看官方文档,查看出,默认的tomcat解析文档 是 ISO-8859-1 所以需要在 server.xml中的connector中添加uRIEncoding="UTF-8" 属性(注意大小写) 还是无效
我都快哭了,各种方法都不行,后来无意中发现一个现象,我的请求是需要打开新窗口的,也就是有target=_blank的属性,将_blank改成_self就ok,但是我需要使用新窗口啊,怎么办?
送js入手,get不行,咱就手动改成post,利用form来进行传递
具体方式:
<form name='form1' method='post'>
<input type='hidden' name='type' value="${basicHeader.lookUpType }"/>
<input type='hidden' name='mean' value="${basicHeader.meaning }"/>
<input type='hidden' name='des' value="${basicHeader.description }"/>
<a href="javascript:basicToUpdate('/BYD_GIB/basic/headerToUpdate.do')">${basicHeader.lookUpType }</a>
</form>
function basicToUpdate(rURL){
document.form1.action = rURL;
document.form1.target = "_blank";
document.form1.submit();
}
到此为止,问题解决。留下此贴作为以后的参考,同时给朋友们一些帮助!!