zoukankan      html  css  js  c++  java
  • 分页技术框架(Pager-taglib)学习三(pager-taglib中传递参数时中文乱码问题)

    一、问题描述

           问题:

    使用<pg:param name="key" />标签传递中文参数时,会有乱码。

    原因:

    因为它默认是用gb2312来对添加的参数进行编码,如果你的过滤器、jsp页面都是采用的gb2312就没有什么问题,如果你采用的是utf-8来编码,那么中文参数传递过程中就会出现乱码导致无法解析。

     

      二、问题解决方法

    网上有很多解决办法,重新修改编译源代码是一种方法:

     

    在comjsptags avigationpager下面的PagerTagaddParam(String name, String value)中,它原本是采用的URLEncoding.encode(value)方式来对传递的参数进行编码的,修改成为 URLEncoding.encode(value, "UTF-8")后,替换掉原来jar包的这个class文件再重新打包并引入到项目中就可以了。

    分页技术框架(Pager-taglib)学习三(pager-taglib中传递参数时中文乱码问题)

    1.首先将pager-src.jar中的文件解压出来.

        可以看到这里面有两个文件

     

     

    2.eclipse中创建一个空的javaProject项目,命名pager-taglib,

        将上面解压的两个文件复制进去

     

    3.由于上面的类中用到了javax.servlet.*中的一些类

    所以要导入javaee.jar

     

        如果在myeclipse中,则直接导入javaee5jar包,或者将整个JavaEE 5 Libraries导入

    分页技术框架(Pager-taglib)学习三(pager-taglib中传递参数时中文乱码问题)

      

    4.然后修改

    在comjsptags avigationpager下面的PagerTagaddParam(String name, String value)中,它原本是采用的URLEncoding.encode(value)方式来对传递的参数进行编码的,修改成为 URLEncoding.encode(value, "UTF-8")。当然URLEncoding.encode(name)也可以修改为URLEncoding.encode(name, "UTF-8"),最后使用try/catch进行异常捕捉

     

    5.导出jar

    export--->java---->java jar file导成jar

     

    6.重新导入到web项目中即可

  • 相关阅读:
    centos磁盘满了,查找大文件并清理
    centos如何查看磁盘剩余空间
    无法连接mysql,请检查mysql是否已启动及用户密码是否设置正确
    HTTP/1.1新建会话失败 解决方法及分析
    PHP 获取 IE浏览器版本号
    基于Android Studio搭建Android应用开发环境
    打印机重启后才能打印
    洛谷P1141 01迷宫【DFS】
    洛谷P1219 八皇后【DFS】
    UVA133
  • 原文地址:https://www.cnblogs.com/kabi/p/5182862.html
Copyright © 2011-2022 走看看