DisplayTag中文查询分页解决方案

最近一直在做一个健康档案得项目,目前已经进入了测试修改阶段,一切还算顺利。

在测试中发现,使用DisplayTag,当查询条件为中文时,DisplayTag的翻页和排序会显示不到。
问题很突然,后果很严重,于是立刻去网上Search了一下,由于人品好,所以很快找到了解决办法。^_^

问题所在:
表单传送时, form的提交采用的是Post方法,这没错,但链接采用的是Get方法,问题就出在这里,因为和Tomcat4相比,Tomcat5的post和get采用的方式不再相同了,汉字编码的实现方式也不同了。

简单的说:Post是将地址传送一次,将form的数据单独提交,而Get则是将地址和参数一起传送,传送的不止是form的数据。

 默认情况下,Tomcat对请求采用的默认编码是ISO-8859-1,这样我们提交的汉字被认为是ISO-8859-1的编码,所以在程序中接收时显示乱码。  在过滤器中调用request.setCharacterEncoding("GBK"),那么Post上来的汉字将被认为是GBK编码,而Tomcat5对于Get请求上来的编码并不根据过滤器的设定辨认编码方式,默认的依然是ISO-8859-1,所以,即使你的页面使用默认的编码方式进行编码,然后使用ISO-8859-1进行解码,得到的结果也不对。

怎样解决呢?方法很简单
 在Server.xmlconnector部分设定URIEncoding的值,根据编码方式指定自己的值就可以了
例如:URIEncoding="GBK"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值