Struts2 与 js 处理Get方式提交的中文参数乱码问题

1.javascript对URL中的中文处理

      使用方法是:encodeURI(url)

     注意一定要使用两次,也就是encodeURI(encodeURI(url))。否则很有可能还是乱码


2、后台对JS提交的中文URL数据处理

     URLDecoder.decode(request.getParameter(name), "UTF-8");

     也就是使用 URLDecoder.decode(str,encode)方法对URL进行解码


3、如果传递的参数比较多可以使用一下方式处理(建议提交数据采用post方式)

public String editAppDetail() throws Exception {
                  flowInfo = new FlowInfo();
                   Enumeration e = request.getParameterNames();
                   while (e.hasMoreElements()) {
                               String name = (String) e.nextElement();
                           BeanUtils.setProperty(flowInfo, name, 
			             URLDecoder.decode(request.getParameter(name), "UTF-8"));
                    }
                    return SUCCESS;
     }

     利用BeanUtils工具可以简化很多操作,可以直接根据属性名称为对象的属性赋值

你可能感兴趣的:(exception,struts,String,url,工具)