`

用过滤器解决Struts中使用汉字乱码的问题

阅读更多

首先写一个过滤器设置request和response的字符集编码

然后在web.xml中加入

问题分析:

Java类中使用的是Unicode编码,而在网页中使用的通常会是其它的编码,网页提交的数据到Java,或Java中的数据输出到网页的时候就会出现乱码

对于JSP可以使用<%@ page pageEncoding="GBK" contentType="text/html; GBK" language="java" %>网页使用的编码,这样服务器会自动进行转换,对于Servlet可以用request . setCharacterEncoding ( encoding ) ;, 然而对于Struts中的Action和FormBean我们却没有办法.而Struts只能用过滤器来转换汉字编码,但是过滤器对Struts,Servlet,JSP都生效,不过JSP中的PageEncoding仍然不能去掉,它还有声明JSP源文件编码的作用.

参考:

SetCharacterEncodingFilter

http://wiki.apache.org/cocoon/SetCharacterEncodingFilter

这个类只有request过滤器,没有response过滤器

转载注明出处:http://blog.csdn.net/smcr_hetao/archive/2010/01/30/5272724.aspx

分享到:
评论

相关推荐

    struts下的汉字乱码问题

    总结来说,解决Struts下的汉字乱码问题,需要从页面、过滤器、服务器配置和Struts核心Servlet等多方面进行设置,确保在整个请求生命周期中,中文字符始终以正确的编码进行处理。这不仅涉及了前端的展示,还涉及到...

    struts2中文乱码问题

    如果上述方法仍然无法解决问题,可以尝试使用自定义的过滤器来强制设置请求和响应的字符编码。例如,可以通过Spring的`CharacterEncodingFilter`来进行设置: ```xml &lt;filter-name&gt;encodingFilter ...

    乱码解决大全.doc

    在 JSP 和 STRUTS 等框架中,可以使用过滤器来解决乱码问题。例如,在 TOMCAT 中,可以使用 SetCharacterEncodingFilter.java 这个类来解决乱码问题。 在资源文件中,乱码问题也很常见。其实解决资源文件的乱码问题...

    Spring+Struts+Ibatis做的增删改查含有中文乱码处理

    1. 在web.xml中设置字符编码过滤器,例如设置`&lt;filter&gt;`来转换请求和响应的编码为UTF-8。 2. JSP页面头部声明正确的字符集,如`;charset=UTF-8" language="java" %&gt;`。 3. Struts配置文件中指定ActionForm字段的编码...

    java前后台(含数据库)乱码大综合

    或者,使用过滤器来统一处理请求和响应的编码问题,配置在web.xml中,确保所有请求和响应都经过过滤器处理。 数据库乱码通常涉及数据库的字符集设置。对于MySQL,可以在my.ini配置文件中设置`default-character-set...

    处理Structs乱码的3种方法

    总的来说,处理Structs中的中文乱码需要从多个层面入手,包括但不限于设置过滤器、配置拦截器以及确保页面和URL的正确编码。通过这些方法,我们可以有效地避免和解决中文乱码问题,从而保证应用程序的正常运行和用户...

    HibernateTemplate.saveOrUpdate时出现\xE7\x84十六进制之类的字符串

    在使用HibernateTemplate的saveOrUpdate方法时,如果遇到类似`\xE7\x84`这样的十六进制字符串,通常这是由于字符编码不匹配导致的汉字乱码问题。这个问题主要涉及到数据库的字符集设置、应用程序的编码配置以及数据...

    解决JSP开发中Web程序显示中文三种方法

    解决JSP开发中Web程序显示中文...解决JSP开发中Web程序显示中文的三种方法分别是:使用page指令设置编码、使用过滤器和使用HttpServletResponse设置编码。每种方法都有其优缺,开发者可以根据实际情况选择合适的方法。

Global site tag (gtag.js) - Google Analytics