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中,我们可以使用Action类来接收和处理请求参数。Action类是业务逻辑的载体,它通常会有一个或多个方法(称为执行方法)与特定的URL路径关联。当用户发送一个HTTP请求到服务器,Struts2拦截器会解析请求,...
根据提供的信息,我们可以推断出这是一段与《Struts2 in Action》中文版书籍相关的文字片段,尽管其中包含了一些无法直接理解的内容(可能是乱码或者是排版问题),但还是可以从中提取一些关键信息来构建关于Struts2...
在Struts2中,Action类的属性可以直接用于接收HTTP请求参数。当表单提交或URL参数传递时,Struts2会自动将这些参数绑定到Action的属性上,无需手动设置。 #### 使用Domain Model接收参数 为了更好地组织和管理业务...
对于Tomcat的配置,我们可以在`conf/server.xml`中修改Connector标签,添加`URIEncoding="UTF-8"`来解决HTTP GET参数中文乱码问题。此外,`context.xml`可以设置`reloadable="true"`使服务器在文件更改后自动重启,...
综上所述,这些文件详细阐述了Struts2中Action的使用和相关配置,包括Action的创建、执行方法的指定、路径配置、通配符映射、参数处理、模型驱动以及字符编码等关键概念,为理解和构建基于Struts2的应用提供了坚实的...
在Struts2中,Action是核心组件,负责处理用户请求并返回相应的结果。本篇文章将详细探讨在Struts2.x中两个Action之间传递值的技术细节。 1. **Action之间的传值方案** - **方案一:Chain(链式调用)** Chain...
在本实例中,我们将深入探讨如何在Struts2中实现国际化,并解决中文乱码问题。 1. **理解Struts2的国际化机制** - Struts2的国际化是基于Servlet API中的`java.util.ResourceBundle`类,它允许我们定义不同语言...
下面分别介绍SSH中的Struts2.xml、Spring.xml和web.xml配置。 **Struts2.xml配置** Struts2是基于Action的MVC框架,其配置文件Struts2.xml主要负责定义Action、Action类与结果页面的映射关系。例如: ```xml ...
- **解决表单提交中文乱码问题**:通过配置相关的常量来自动解决表单提交数据中的中文乱码问题。 - 例如,设置字符编码常量`struts.i18n.encoding=UTF-8`。 通过以上详细介绍,我们可以看出Struts2框架是一个功能...
Struts2 是一个流行的 Java Web 开发框架,它简化了MVC(模型-视图-控制器)架构的应用程序开发。...同时,要注意处理中文乱码问题,例如在过滤器中设置正确的字符编码,以及根据需要调整配置以适应不同的项目需求。
- 配置了一个名为`encodingFilter`的Filter,用于解决中文乱码问题,设置了编码为`UTF-8`。 3. **其他配置**: - 设置了会话超时时间为10分钟。 - 指定了默认首页为`index.jsp`。 ### `struts.xml`配置详解 `...
- **概念**:Struts2中的一个关键概念,用于存储请求范围内的数据。 - **获取值栈对象**:可以使用`ActionContext`来获取当前的值栈对象。 - **示例**:在Action中访问值栈中的对象。 ```java import ...
Struts2中的`result`配置是框架的核心特性之一,它提供了灵活的页面跳转机制。通过合理地使用全局结果配置和具体的Action结果配置,可以大大简化开发过程,提高代码的复用性和可维护性。此外,掌握不同结果类型的...
同时,教程中也会涉及与Struts 2.x的比较,帮助开发者理解两个版本之间的相似之处和差异。 ### Struts 1.x 入门基础 1. **Struts 1.x 概述**: - Struts 1.x 是一个成熟的MVC框架,它将Servlet API封装,提供了一...
2. **与服务器或数据库的交互支持中文**:由于编码不一致或配置不当,中文数据在传输过程中可能会出现乱码现象。 3. **查询结果支持中文**:当查询数据库获取到包含中文的数据时,这些数据可能无法正确地展示在用户...
**SpringMVC框架的理解** SpringMVC是Spring框架的一部分,它是一个基于组件技术的Web应用框架,允许开发者将应用对象(如控制器和视图...此外,也可以利用RedirectAttributes进行重定向,并在重定向过程中添加参数。
6. **动态切换语言**:为了允许用户在应用中动态切换语言,需要提供一个接口或链接,修改session中的Locale对象,然后重定向到当前页面,Struts会自动使用新的语言资源。 7. **处理数字和日期格式**:国际化不仅...
在Struts中,请求被路由到Action,Action处理业务逻辑后返回一个结果,这个结果可以是视图或者重定向到另一个Action。在图片上传场景中,Struts可以负责接收用户提交的表单数据,包括图片文件,并将这些数据传递给...