读书人

请问:Spring+strut1 乱码 有关问题

发布时间: 2012-01-22 22:38:43 作者: rapoo

请教:Spring+strut1 乱码 问题 filter.CharacterEncodingFilter?
我用spring+struts1+bibernate 所有文件都是utf-8编码 页面用html+js,页面传到后台的数据都是乱码,

web.xml中是这样配置的
<filter>
<filter-name>Spring character encoding filter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding </param-name>
<param-value>true </param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Spring character encoding filter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>


没什么问题吧?好像不起作用


页面拼接url是这样的
var urlEditDetail = 'orgRole.do?action=editrole';
var id = postdata.编号;
var name = postdata.名称;

urlEditDetail += "&id="+id;
urlEditDetail += "&name="+name;


java 文件 配置文件 js文件 html文件都是用utf-8编码 ,在action中的form表单中数据都是乱码。

这该怎么办?







[解决办法]
URLEncoder编码,后台URLDecoder解码
[解决办法]
这个是我自己写的 没什么乱码的问题
<filter>
<filter-name>encoding</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
[解决办法]
是在不行,自己写一个过滤器对所有的jsp请求过滤。
[解决办法]
自己写了一个过滤器,最关键就一句话request.setCharacterEncoding(encoding);好像没出什么问题啊
[解决办法]

探讨

form里的每个变量都要 URLDecoder 这也太麻烦了啊 如何才能让过滤器起作用啊

[解决办法]
编码过滤器只对get提交方式有用,对post方式提交没用,需要手动转换编码
[解决办法]
看一下数据库的编码是不是utf-8的

读书人网 >J2EE开发

热点推荐