`

struts2中重定向中文参数乱码

阅读更多

struts2中重定向中文参数乱码

 

网上的几个解决办法如下:

http://ruvuoai.iteye.com/blog/1001897

http://blog.csdn.net/lhi705/article/details/7446156

http://www.blogjava.net/nighty/archive/2011/01/14/342991.html

 

上面的方法试了没有成功,可能是自己哪个地方代码有问题没有找到,最后自己试验了一种方式成功解决了中文乱码问题,记录下来。

 

1.修改struts.xml配置文件

修改前的:
<action name="recheckOrderBill" class="recheckOrderBillAction">
	<result name="success" type="redirect">
		orderBillShow?msg=${msg}
	</result>
</action>
修改后的:
<action name="recheckOrderBill" class="recheckOrderBillAction">
	<result name="success" type="redirect">
		<param name="location">orderBillShow?msg=${msg}</param>
		<param name="encode">true</param>
	</result>
</action>

 

 2.修改调用重定向action的action:

private String msg;


public String execute() throws Exception {
//在该action对需要传递的参数进行编码
//编码方式:URLEncoder.encode("str", "UTF-8");    	
    msg = URLEncoder.encode(cusStdOrderbillBL.recheckOrderbill(relationId), "UTF-8");
    return SUCCESS;
}

public String getMsg() {
	return msg;
}
    
public void setMsg(String msg) {
	this.msg = msg;
}

 

 3.修改重定向后的action:

private String msg ;

public String execute() throws Exception {

//此处对重定向传递过来的msg进行解码
//解码方式:URLDecoder.decode(getMsg(), "UTF-8");
	if (msg != null) {
		msg = URLDecoder.decode(getMsg(), "UTF-8");
		setMsg(msg);
        }
		return SUCCESS;
	}

public String getMsg() {
	return msg;
}

public void setMsg(String msg) {
	this.msg = msg;
}

 

 4.页面显示:

el表达式方式:${msg}
strut2标签方式:<s:property value="msg"/>

 

分享到:
评论

相关推荐

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

    在Struts2中,我们可以使用Action类来接收和处理请求参数。Action类是业务逻辑的载体,它通常会有一个或多个方法(称为执行方法)与特定的URL路径关联。当用户发送一个HTTP请求到服务器,Struts2拦截器会解析请求,...

    Struts2 in Action 中文版

    根据提供的信息,我们可以推断出这是一段与《Struts2 in Action》中文版书籍相关的文字片段,尽管其中包含了一些无法直接理解的内容(可能是乱码或者是排版问题),但还是可以从中提取一些关键信息来构建关于Struts2...

    struts2學習筆記

    在Struts2中,Action类的属性可以直接用于接收HTTP请求参数。当表单提交或URL参数传递时,Struts2会自动将这些参数绑定到Action的属性上,无需手动设置。 #### 使用Domain Model接收参数 为了更好地组织和管理业务...

    详细的struts2知识

    对于Tomcat的配置,我们可以在`conf/server.xml`中修改Connector标签,添加`URIEncoding="UTF-8"`来解决HTTP GET参数中文乱码问题。此外,`context.xml`可以设置`reloadable="true"`使服务器在文件更改后自动重启,...

    Struts2--3.Action及相关-1

    综上所述,这些文件详细阐述了Struts2中Action的使用和相关配置,包括Action的创建、执行方法的指定、路径配置、通配符映射、参数处理、模型驱动以及字符编码等关键概念,为理解和构建基于Struts2的应用提供了坚实的...

    struts2.x一些技术细节资料总结

    在Struts2中,Action是核心组件,负责处理用户请求并返回相应的结果。本篇文章将详细探讨在Struts2.x中两个Action之间传递值的技术细节。 1. **Action之间的传值方案** - **方案一:Chain(链式调用)** Chain...

    struts2国际化的实例

    在本实例中,我们将深入探讨如何在Struts2中实现国际化,并解决中文乱码问题。 1. **理解Struts2的国际化机制** - Struts2的国际化是基于Servlet API中的`java.util.ResourceBundle`类,它允许我们定义不同语言...

    ssh中struts2,spring,各配置说明

    下面分别介绍SSH中的Struts2.xml、Spring.xml和web.xml配置。 **Struts2.xml配置** Struts2是基于Action的MVC框架,其配置文件Struts2.xml主要负责定义Action、Action类与结果页面的映射关系。例如: ```xml ...

    struts文件

    - **解决表单提交中文乱码问题**:通过配置相关的常量来自动解决表单提交数据中的中文乱码问题。 - 例如,设置字符编码常量`struts.i18n.encoding=UTF-8`。 通过以上详细介绍,我们可以看出Struts2框架是一个功能...

    struts2部分重点笔记

    Struts2 是一个流行的 Java Web 开发框架,它简化了MVC(模型-视图-控制器)架构的应用程序开发。...同时,要注意处理中文乱码问题,例如在过滤器中设置正确的字符编码,以及根据需要调整配置以适应不同的项目需求。

    spring2.5.5+struts2+ibatis2.3.4登录实例

    - 配置了一个名为`encodingFilter`的Filter,用于解决中文乱码问题,设置了编码为`UTF-8`。 3. **其他配置**: - 设置了会话超时时间为10分钟。 - 指定了默认首页为`index.jsp`。 ### `struts.xml`配置详解 `...

    传智播客struts2框架2016版视频教程笔记

    - **概念**:Struts2中的一个关键概念,用于存储请求范围内的数据。 - **获取值栈对象**:可以使用`ActionContext`来获取当前的值栈对象。 - **示例**:在Action中访问值栈中的对象。 ```java import ...

    struts2配置文件之result

    Struts2中的`result`配置是框架的核心特性之一,它提供了灵活的页面跳转机制。通过合理地使用全局结果配置和具体的Action结果配置,可以大大简化开发过程,提高代码的复用性和可维护性。此外,掌握不同结果类型的...

    Struts1.x入门与提高系列教程.pdf

    同时,教程中也会涉及与Struts 2.x的比较,帮助开发者理解两个版本之间的相似之处和差异。 ### Struts 1.x 入门基础 1. **Struts 1.x 概述**: - Struts 1.x 是一个成熟的MVC框架,它将Servlet API封装,提供了一...

    OpenReports中文支持完全解决方案(新)

    2. **与服务器或数据库的交互支持中文**:由于编码不一致或配置不当,中文数据在传输过程中可能会出现乱码现象。 3. **查询结果支持中文**:当查询数据库获取到包含中文的数据时,这些数据可能无法正确地展示在用户...

    JAVA框架面试题汇总 (2).docx

    **SpringMVC框架的理解** SpringMVC是Spring框架的一部分,它是一个基于组件技术的Web应用框架,允许开发者将应用对象(如控制器和视图...此外,也可以利用RedirectAttributes进行重定向,并在重定向过程中添加参数。

    struts国际化的问题

    6. **动态切换语言**:为了允许用户在应用中动态切换语言,需要提供一个接口或链接,修改session中的Locale对象,然后重定向到当前页面,Struts会自动使用新的语言资源。 7. **处理数字和日期格式**:国际化不仅...

    fck资源整合包

    在Struts中,请求被路由到Action,Action处理业务逻辑后返回一个结果,这个结果可以是视图或者重定向到另一个Action。在图片上传场景中,Struts可以负责接收用户提交的表单数据,包括图片文件,并将这些数据传递给...

    JAVA框架面试题汇总.docx

    处理 POST 请求中文乱码问题,可以在 web.xml 中配置 CharacterEncodingFilter,设置 encoding 参数为 "utf-8"。GET 请求的乱码问题可以通过修改 Tomcat 配置文件,设置 Connector 的 URIEncoding 为 "utf-8",或者...

Global site tag (gtag.js) - Google Analytics