struts2 jsp向action传递参数乱码怎么解决 jsp页面 用<a href="temp.action?cargoName=${cargoName}">向action传递字符参数(中文的)会出现乱码,要怎么弄才能不乱码?急求高手指导! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在struts.properties里面把编码改下看行不! 写个Filter、interceptor乱码就搞定了!Filter:HttpServletRequest req = (HttpServletRequest) request;HttpServletResponse resp = (HttpServletResponse) response;req.setCharacterEncoding("utf-8");resp.setCharacterEncoding("utf-8");chain.doFilter(request, response);如你你嫌Filter、interceptor麻烦,不想写也行,没关系!直接使用Spring提供的类,不过不知道你的项目中是否用到了Spring啊, 呵呵...在web.xml中配置 <!-- 使用Spring中的过滤器解决中文乱码问题 --> <filter> <filter-name>characterEncodingFilter</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>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 如果传递的汉字是偶数的话只需要在服务器端编码就可以了!!String s = new String( a.getBytes("ISO_8859_1"),"gbk");a是你通过浏览器传递来的参数。如果汉字是奇数的话需要在客户端进行编码和在服务器端进行编码。客户端:<a href="" onclick="encodeURI(this.href)">URL</a> 最好客户端和服务器端都进行一下编码。 如果是通过get传参的话汉字需要进行编码,post不需要!!如果你不想进行转码的话可以将get传参改成post传参也可以!! URL传值一般不建议传中文如果一定要传中文的话,可以先用encodeURI转码,后台再用.getBytes()转就OK了或者直接在struts.xml中设置<constant name="struts.i18n.encoding" value="GBK" />或者设置Filter 我的项目没用到Spring,写个Filter、interceptor乱码就搞定了!请问怎么写和配置啊?能说清楚点吗,谢谢了 Filter的代码我已经发了,你创建一个filter,把代码写在doFilter()中!web.xml配置如下: <filter> <filter-name>encodingFilter</filter-name> <filter-class>com.joye.filter.CharacterSetEncodingFilter</filter-class> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping>以上的配置,不需要我多说吧!我这里配的是以.do请求的进行转码,.jsp请求不进行转码!如果你要把.do和.jsp的请求都进行转码,那么你就写成/*表示对所有的请求转码,也就是所有的请求都会去执行过滤器内的代码! 不好意思,不是很明白,我最后用六楼的转码方法实现了,Filter我按你那样配置好像不行,不知道是不是我弄错了,还是很感谢,如果可以的话麻烦你再说具体点哈,谢啦 拦截器使用session实现用户登录检查 动态代理-invocationhandler接口的invoke方法 javamail读取OUTLOOK保存下的邮件文件的问题 struts2 这个 跳哪去了? Spring框架分析和源码研究的问题 [求教]关于java3d的动画的问题 关于ant的build.xml细节部分的一个小迷惑,希望大侠给予指点谢谢! JBOSS运行客户端程序时需要引用哪些包? 再问poi问题,在poi里面能不能对图片进行操作? session bean的问题! 请高手推荐一本struts的学习书籍和一本案例比较全的J2EE书籍..谢谢 Dreamweaver实时显示系统时间
Filter:HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response;
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");chain.doFilter(request, response);
如你你嫌Filter、interceptor麻烦,不想写也行,没关系!直接使用Spring提供的类,不过不知道你的项目中是否用到了Spring啊, 呵呵...
在web.xml中配置
<!-- 使用Spring中的过滤器解决中文乱码问题 -->
<filter>
<filter-name>characterEncodingFilter</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>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
如果汉字是奇数的话需要在客户端进行编码和在服务器端进行编码。
客户端:<a href="" onclick="encodeURI(this.href)">URL</a> 最好客户端和服务器端都进行一下编码。
如果一定要传中文的话,可以先用encodeURI转码,后台再用.getBytes()转就OK了
或者直接在struts.xml中设置<constant name="struts.i18n.encoding" value="GBK" />
或者设置Filter
请问怎么写和配置啊?能说清楚点吗,谢谢了
Filter的代码我已经发了,你创建一个filter,把代码写在doFilter()中!
web.xml配置如下:
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>com.joye.filter.CharacterSetEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
以上的配置,不需要我多说吧!
我这里配的是以.do请求的进行转码,.jsp请求不进行转码!
如果你要把.do和.jsp的请求都进行转码,那么你就写成/*
表示对所有的请求转码,也就是所有的请求都会去执行过滤器内的代码!