论坛首页 Java企业应用论坛

Displaytag标签翻页时中文乱码

浏览 2446 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-01-19  
Displaytag标签对中文的支持确实不很好,像我现在的项目中的翻页就会出现乱码。

MVC使用的是Spring的基于注释的Controller,中文参数第一次进来的时候是没有乱码问题的(此时走了spring的过滤器),而使用displaytag标签翻页的时候displaytag对中文参数做了转码,而同事直接从request中取参数,所以spring的过滤器并没有对url进行过滤,从而导致了乱码。

同事在网上找了很多解决办法(如getbytes,uriencoding或者在tomcat的server.xml文件中的connection里加上URIEncoding=UTF-8),都不能凑效,要么第一次的请求参数乱码要么翻页时乱码。

后来我去试了下,觉得既然从request里面直接取参数不能走spring的encoding过滤器,那为什么不直接在方法的参数里直接加上查询条件呢,spring基于注释的controller是支持直接在方法的参数里绑定页面的请求参数的。

比如add(String id) 就直接可以绑定从页面传过来的id。最后就直接把请求中文的参数加到参数里,问题解决,主要原因还是spring绑定时走了spring的过滤器。
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics