Struts分页插件pager-taglib传递中文参数

pager-taglib.jar 分页

    需要的jar包
        pager-src.jar
        pager-taglib.jar
    在分页传值时,<pg:param name="xx" value="">,
传递中文会乱码,原因:pager-taglib 分页插件在传值时,使用的 get方式, get方式默认以 iso89-xx方式传递,传中文会乱码。
解决过程:
    1.在后台action中接受到值后通过 java.net.URLEncoder.encode转换编码,结果: 失败
    2.修改jar包源文件PagerTag.java中的 addParam方法。addParam方法中默认的value接受值得方式为:
value = java.net.URLEncoder.encode(value);通过修改 value = java.net.URLEncoder.encode(value, "UTF-8");进行强制转换编码。
修改完后重新打包成jar文件。
做完以上步骤后
在url中就可以传中文参数了,但是在后台接收时依旧会乱码。解决方法:在action中解码
解码例子:
String val = new String(val.getBytes("ISO8859-1"),"UF-8");
 
注意:解码时一定要new 一个String对象。否则可能会解码失败。

 

你可能感兴趣的:(struts)