Struts2中redirectAction重定向后乱码问题与解决

解决方案:

Tips:    1. 紫色为原乱码时代码,红色为正确代码

             2. 需更改两处文件,缺一不可

struts配置文件:

<result name="reportresult" type="redirectAction">

<param name="actionName">/report/reportresult_queryResult</param>
<param name="querycondition_str">${querycondition_str}</param>
<param name="report_parameter_str">${report_parameter_str}</param>
<param name="report_template_name">${report_template_name}</param>
<param name="encode">true</param>

</result>

 

重定向后的Action中:

public String queryResult() throws Exception{
//JSONObject query_jsonObj = JSONObject.fromObject(super.getQuerycondition_str());
String str = super.getReport_parameter_str();
if(!(str == null || str.equals(""))){
str=URLDecoder.decode(str, "utf-8");

//str=new String(str.getBytes(),"utf-8");---------原代码

Map<String,Object> parameterMap = new HashMap<String,Object>();
JSONObject obj = JSONObject.fromObject(str);
//json转换成集合对象
MorphDynaBean bean = (MorphDynaBean)JSONObject.toBean(obj);
DynaProperty[] properties = bean.getDynaClass().getDynaProperties();
for(DynaProperty property : properties){
parameterMap.put(property.getName(), obj.get(property.getName()));
}
this.reportService.setParameter(parameterMap);
}

this.reportService.setRequestAndResponse(ServletActionContext.getRequest(), ServletActionContext.getResponse());
this.reportService.setReport(super.getReport_template_name());
this.reportService.viewHtmlReport_itransc();
return null;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值