`
jeelee
  • 浏览: 637028 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

struts 乱码问题

阅读更多
情况一:
在JSP页面中的编码都是UTF-8,通过:
<a href=" <s:url value="urlLink2.action"> <s:param name="flag">今天 </s:param> </s:url>">参数 </a>
向action中传递中文参数,action接收出现乱码。
解决方法如下:

通过Url提交,中文乱码的处理:
在tomcat的server.xml文件中设置URIEncoding="UTF-8"信息。如:
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="8080" maxHttpHeaderSize="8192"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" />


情况二:
在JSP页面中的编码都是UTF-8,在action类中要获得下面的文本框的值:
<td><s:textfield name="mainKind"></s:textfield></td>

mainKind = new String(request.getParameter("mainKind").getBytes("ISO8859-1"),"UTF-8"); //将ISO8859-1字符集转换成UTF-8,这样既可解决乱码问题


----------------------------------------------------------------------
struts配置解决乱码问题:
Struts2.0所有的配置被整合在一个Filter里面,该Filter位于StrutsPrepareAndExecuteFilter,因此,在web.xml中应该这样声明:
<filter>
  <filter-name>struts2</filter-name>
  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>
但是,该Filter一个问题,就是从页面传到后台的中文经过这个过滤器后会变成乱码,为了解决这个问题,需要重写这个过滤器,最简单的方法是写一个类继承StrutsPrepareAndExecuteFilter,代码如下:
package com.cstp.lifuqiang.filter;
//com.cstp.lifuqiang.filter.MyFilter
import java.io.IOException;

import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter;

public class MyFilter extends StrutsPrepareAndExecuteFilter {
  public void doFilter(ServletRequest req, ServletResponse resp,
    FilterChain chain) throws IOException, ServletException {
   req.setCharacterEncoding("utf-8");
   resp.setCharacterEncoding("utf-8");
   super.doFilter(req, resp, chain);
  }
}
这时web.xml中相应的地方就改为:
<filter>
  <filter-name>struts2</filter-name>
  <filter-class>com.cstp.lifuqiang.filter.MyFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

文章出处:DIY部落(http://www.diybl.com/course/3_program/java/javajs/20090922/176492.html)
分享到:
评论

相关推荐

    Struts 乱码问题

    ### Struts乱码问题解析与解决方案 在Java Web开发中,尤其是使用Struts框架时,乱码问题是开发者常遇到的挑战之一。乱码通常出现在页面显示或后台处理数据时,表现为字符编码不一致导致的数据展示错误。本文将深入...

    struts中文乱码问题解决详细步骤

    解决这个问题通常涉及到编码设置的调整,下面将详细介绍两种方法来解决Struts中的中文乱码问题。 **方法一:配置Filter** 1. **添加过滤器**:首先,我们需要在Web应用的`web.xml`文件中添加一个`...

    struts乱码问题

    HttpServletRequest request=ServletActionContext.getRequest(); HttpSession session=request.getSession(); session.setAttribute("bookName", this.bookName); session.setAttribute("bookPrice", this....

    struts解决中文乱码问题

    在开发Web应用程序时,中文乱码问题是一个常见的挑战,特别是在使用Struts框架的时候。这个问题的出现通常是由于客户端和服务器端的字符集不一致导致的。本文将深入探讨如何解决Struts框架下的中文乱码问题。 首先...

    eclipse struts 中文乱码问题图解

    总结来说,解决Eclipse Struts中文乱码问题主要涉及页面编码设置、请求参数处理以及资源文件的正确编码。通过调整相应的配置和使用合适的工具,可以有效避免和解决这些问题,确保中文字符的正常显示和处理。

    struts处理中文乱码问题总结

    struts处理中文乱码问题总结struts处理中文乱码问题总结struts处理中文乱码问题总结struts处理中文乱码问题总结

    Struts2乱码终极解决办法

    本文将详细介绍如何彻底解决Struts2中的乱码问题,并提供实际可行的解决方案。 #### 二、乱码产生的原因 在Struts2框架中,中文乱码主要由以下几个方面的原因造成: 1. **请求编码问题**:客户端发送请求时未指定...

    Struts的乱码问题

    ### Struts框架中的乱码问题解析与解决方案 #### 背景介绍 在Web开发过程中,尤其是使用Java Web框架如Struts进行项目开发时,经常遇到的一个问题是中文字符的乱码问题。这个问题主要体现在中文字符在Web页面上的...

    struts 中文乱码问题解决

    在IT领域,特别是Web开发中,Struts框架作为Java Web应用的一个重要组成部分,其在处理中文字符时常常遇到乱码问题。这个问题不仅影响了用户体验,也增加了开发者的调试难度。本文将深入探讨Struts框架中中文乱码的...

    奇怪的struts2的中文乱码问题及解决.docx

    总之,处理Struts2在IE上的中文乱码问题,关键在于理解浏览器对字符编码的不同处理方式,并针对性地调整解析策略或编码设置。通过上述方法,开发者可以有效地解决此类问题,确保Web应用在不同浏览器下的正常运行。

    struts乱码讲解

    ### Struts乱码问题详解与解决方案 #### 一、引言 在Web开发过程中,特别是在使用Struts框架进行开发时,经常会遇到字符编码的问题,尤其是中文字符的乱码问题。本文将详细介绍Struts中常见的乱码现象,并提供具体...

    Struts2中文乱码问题最终解决方案

    在Struts.xml配置文件中,设置 `&lt;constant name="struts.i18n.encoding" value="UTF-8"/&gt;` 是为了指定字符编码为UTF-8,防止乱码问题。但在Struts 2.1.6版本中,这个配置对POST请求的中文乱码问题无效,这是一个已知...

    如何解决struts2中烦人乱码

    在struts2中解决页面中出现的乱码问题,写在web.xml中

    struts下的汉字乱码问题

    在Struts框架中,汉字乱码问题是一个常见的问题,特别是在处理中文输入时。解决这个问题涉及到多个层面,包括页面编码设置、服务器配置以及Struts的Servlet配置。以下是对这些问题的详细解释: 1. 页面编码设置: ...

    struts之中文乱码问题

    在处理中文字符时,Struts可能会遇到乱码问题,这主要是由于字符编码不一致或未正确配置导致的。下面我们将深入探讨这个问题,并提供解决策略。 **乱码产生的原因** 1. **请求编码不一致**:当用户通过表单提交...

    struts2的中文乱码问题解决

    ### Struts2中文乱码问题解决方案 在使用Struts2框架进行Web开发的过程中,中文乱码问题是一个常见的挑战。这不仅影响用户体验,还可能导致数据不一致等问题。为了解决这一问题,我们需要理解其背后的原理,并采取...

    Struts上传,已经处理好乱码问题

    本篇文章将详细探讨如何在Struts中处理文件上传并解决乱码问题。 首先,我们需要了解Struts文件上传的基本原理。在Struts中,文件上传是通过`Commons FileUpload`库来实现的,它是Apache Commons项目的一部分,专门...

    struts2中文乱码问题

    ### Struts2中文乱码问题解决方案 在使用Struts2框架进行Web开发的过程中,中文乱码问题是一个常见的问题。这不仅影响用户体验,还可能导致数据处理错误。本文将详细介绍几种解决Struts2中文乱码问题的方法。 ####...

    struts乱码解决方法

    ### Struts乱码解决方法详解 #### 一、引言 在使用Struts框架进行Web应用开发时,可能会遇到字符编码问题导致的数据显示乱码。本文将详细介绍如何解决Struts项目中的乱码问题,帮助开发者确保数据正确无误地显示。...

    解决Struts中文乱码问题

    解决myeclipse Struts中文乱码问题视频

Global site tag (gtag.js) - Google Analytics