关于奇怪的Struts2乱码问题
环境是这样的,前台后台,数据库都用的是utf-8格式,web.xml里也配置了spring的characterfilter进行了转码,现在一般情况都是正常的,只有在一种情况下乱码:从一个action重定向(redirect)到另一个action,在配置文件中用到了ognl表达式传递参数,如下
<result type="redirect">
listCountries.action?queryBean.name=${queryBean.name}
</result>
想将当前保存的查询字段一起传递到重定向的页面,此时在重定向到的页面出现乱码,tomcat里面的URIEncoding也配置了,不知道为什么还是这样,后来在action里面用
queryBean.setName(URIUtil.encodeQuery(queryBean.getName()))才可以了,但是不可能每个地方都这样做啊,有什么其他办法吗,或者是有其他struts2参数进行设置?
(初学struts,请帮忙)
------解决方案--------------------这个貌似没有办法解决。
------解决方案--------------------你可以试试用过滤类,就是当你访问站点下的所有文件的时候都转化一下,javax.servlet.Filter 实现这个接口,在web.xml里配置一下就行了.你试试,不知道可不可以.以前出现乱码我都是 这样做的
------解决方案--------------------一般 tomcat里面的URIEncoding也配置成utf-8 传参就没什么大问题了,
request.setCharacterEncoding("utf-8"); //没看到你加这句,当然也可以写个fiter 让整个项目的action 先进这里面
<%@ page language="java" pageEncoding="utf-8"%> 页面要加这句
如果还不行,你还没解决 跟个帖,再告诉你个怪招