struts2中重定向中文参数乱码_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > struts2中重定向中文参数乱码

struts2中重定向中文参数乱码

 2014/7/15 22:59:08  zyjustin9  程序员俱乐部  我要评论(0)
  • 摘要:struts2中重定向中文参数乱码网上的几个解决办法如下:http://ruvuoai.iteye.com/blog/1001897http://blog.csdn.net/lhi705/article/details/7446156http://www.blogjava.net/nighty/archive/2011/01/14/342991.html上面的方法试了没有成功,可能是自己哪个地方代码有问题没有找到,最后自己试验了一种方式成功解决了中文乱码问题,记录下来。1.修改struts
  • 标签:struts

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配置文件

class="xml" name="code">修改前的:
<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"/>

?

上一篇: java代码中读写xml文件、读excel文件 下一篇: 没有下一篇了!
发表评论
用户名: 匿名