`
啸笑天
  • 浏览: 3465742 次
  • 性别: Icon_minigender_1
  • 来自: China
社区版块
存档分类
最新评论

struts2 的s:param标签中文乱码

阅读更多

 <s:a action="manage_delete" namespace="/employee" ><s:param name="username" value="username"/>删除</s:a> 

 

 

String[] username=(String[]) ActionContext.getContext().getParameters().get("username");

System.out.println("action接受结果"+username[0]);

 

 

传递的参数出现乱码。尝试了各种方法,像

1、  在struts配置文件中设置:

 <constant name="struts.i18n.encoding" value="UTF-8" />

2、在web.xml文件中配置spring的过滤器


 <filter>
  <filter-name>setCharacterEncoding</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>
 <!-- filtered type -->
 <filter-mapping>
  <filter-name>setCharacterEncoding</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

3、进行解码

 try {
   project_name=new String(project_name.getBytes("utf-8"));
  } catch (UnsupportedEncodingException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

这三种方式均不能解决问题。

一直以为是在这里用ognl表达式取出来的时候就乱码了,后来调了一天,想了想,才发现,这里执行完saveDir的action以后,转发方式是redirect,那么就相当于是在地址栏重新输入,下面这个action的地址了,然后加上后面的参数。那么就相当于你自己在地址栏输入listDirByParent.action?child.name=中文。。。,那么这样的请求属于get方式请求,不会通过过滤器进行过滤,而是通过tomcat进行地址的编码,而tomcat的编码,我记得是iso-8809-1,那么在action端Struts2默认是utf-8的编码方式,所以编码跟解码的方式出现了不符,就会出现乱码了。那么解决办法就是,直接在tomcat的server.xml中修改下面这段

 <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8" />其中加粗的是添加的内容。

修改完以后,ok了。

后来想到由上面的解决方法想到:如下方法也可以解决

 try {
   project_name=new String(project_name.getBytes("ISO-8859-1"),"utf-8");
  } catch (UnsupportedEncodingException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

 

 

 


 

 

 

分享到:
评论
1 楼 fair_jm 2012-08-15  
谢谢你 讲解的很好 起源都是get方式传递 

相关推荐

    struts 2. 5.2解决中文乱码

    通过以上步骤,一般可以解决Struts 2.5.2框架下的中文乱码问题。但请注意,每个项目可能有不同的配置和需求,因此在实际应用中,还需要根据具体情况进行调试和调整。 在`myStruts`这个压缩包中,可能包含了示例代码...

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

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

    解决struts2.1.6+spring+hibernate 中文乱码

    在Struts2项目中,可以通过修改`struts.properties`文件来指定项目的字符编码方式,从而解决中文乱码问题。具体配置如下: ```properties struts.objectFactory = spring struts.i18n.reload=true #struts.locale=...

    struts2的中文乱码问题解决

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

    struts2上传下载 解决中文文件名乱码

    通过上述实践和调试,我们已经成功解决了Struts2框架下中文文件名上传和下载的乱码问题。在遇到类似问题时,可以按照这些步骤进行排查和修复。记住,关键在于正确配置Struts2的拦截器、请求编码以及在处理文件名时...

    eclipse struts 中文乱码问题图解

    在开发Java Web应用程序时,Eclipse和Struts框架的组合可能会遇到中文乱码的问题,这主要涉及三个方面:页面乱码、参数乱码以及国际化乱码。以下是对这些乱码问题的详细解答: 1. 页面乱码: 当网页编码设置为非...

    struts2中文乱码解决Demo

    本DEMO是为了解决Struts2在处理中文输入时可能出现的乱码问题,确保系统能够正确地接收和显示中文字符。 首先,我们要理解乱码产生的原因。在Web应用中,数据的传输通常涉及多种编码方式,如HTTP请求的默认编码通常...

    struts2中文乱码问题

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

    struts2中文乱码

    ### Struts2中文乱码问题解析与解决方案 #### 一、引言 在Web开发过程中,尤其是使用Struts2框架时,中文字符的正确显示是一个常见的挑战。本篇文章将详细介绍Struts2中出现中文乱码的原因及解决方案,帮助开发者更...

    Struts2文件上传下载 中文乱码

    在Struts2框架中,文件上传和下载是常见的功能需求,但处理中文文件名或内容时,可能会遇到中文乱码的问题。这个问题主要涉及到字符编码的处理,包括HTTP请求的编码、文件名的编码以及文件内容的编码。接下来,我们...

    struts2获取参数,解决乱码,跳转

    在这个主题中,我们将深入探讨Struts2如何获取参数、解决乱码问题以及实现页面跳转。 首先,让我们来看看Struts2如何获取HTTP请求中的参数。在Struts2中,我们可以使用Action类来接收和处理请求参数。Action类是...

    struts之中文乱码问题

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

    JSP struts2 url传参中文乱码解决办法.docx

    在开发Java Web应用程序时,尤其是使用Struts2框架与JSP进行交互时,可能会遇到URL传参中文乱码的问题。这个问题通常涉及到字符编码的设置,包括客户端请求编码、服务器接收编码以及应用程序内部处理编码的统一。...

    struts 中文乱码问题解决

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

    struts2.2.1文件下载及中文乱码问题解决.pdf

    在使用Struts2进行文件下载功能时,可能会遇到中文乱码的问题。本篇主要讨论如何解决Struts2.2.1版本中文件下载时的中文乱码问题,以及相关的配置和实现细节。 首先,文件下载的关键在于设置正确的HTTP响应头。`...

    welogic struts2文件下载中文件名乱码:在tomcat中是好的哦

    本文将深入探讨在WeLogic服务器中使用Struts2框架进行文件下载时遇到的文件名乱码问题,并提供详细的解决方案。 ### 文件名乱码现象分析 在WeLogic服务器中使用Struts2进行文件下载时,用户可能会遇到文件名显示为...

    struts2.1.6解决乱码 补充

    在Struts2中,表单提交的数据默认使用ISO-8859-1编码,而浏览器默认发送的是UTF-8编码,这就会导致中文显示为乱码。 #### 二、解决方案:使用CharacterEncodingFilter 为了解决这个问题,一种常见的做法是通过过滤...

    开发STRUTS应用的步骤及中文乱码处理汇编.pdf

    开发STRUTS应用的步骤及中文乱码处理汇编 STRUTS是一个开源的JavaEE框架,用于构建基于MVC(Model-View-Controller)设计模式的Web应用程序。以下是开发STRUTS应用的基本步骤和中文乱码问题的解决方法: 1. 新建...

    Struts的乱码问题

    - **在Struts配置文件中设置**:可以在`struts-config.xml`文件中通过`&lt;param&gt;`标签设置请求参数的编码方式,例如:`&lt;param name="requestEncoding" value="UTF-8"/&gt;`。 - **在JSP页面头部设置**:通过`; charset=...

Global site tag (gtag.js) - Google Analytics