精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-08-21
现在正在使用T5开发一个小项目。 因为现在T5还正处于发展中。 而且没有像T4一样有许多的文档。 和例子(Workbench, Vlib)。 所以我会把在这个开发中遇到的一些问题记录下来。
tapestry5.0.5现在默认支持UTF-8编码。 但是发现在form提交数据后。 数据变成了乱码。 解决方案是增加一个Filter。 public RequestFilter buildUtf8Filter( @InjectService("RequestGlobals") final RequestGlobals requestGlobals) { return new RequestFilter() { public boolean service(Request request, Response response, RequestHandler handler) throws IOException { requestGlobals.getHTTPServletRequest().setCharacterEncoding("UTF-8"); return handler.service(request, response); } }; } 然后contribute给RequestHandler。 public void contributeRequestHandler(OrderedConfiguration<RequestFilter> configuration, @InjectService("TimingFilter") final RequestFilter timingFilter, @InjectService("Utf8Filter") final RequestFilter utf8Filter) { configuration.add("Utf8Filter", utf8Filter); // handle UTF-8 configuration.add("Timing", timingFilter); } 以上代码都是放在AppModule.java中。。 参考:http://wiki.apache.org/tapestry/Tapestry5Utf8Encoding 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-08-22
5.0.5我在使用中没有遇到乱码问题。
在5.0.5之前,为了使中文能够正常显示,我也使用了你提到的文档中所使用的方法,但5.0.5似乎已经解决了这个问题。至少,我目前还没有碰到form提交乱码的现象。 |
|
返回顶楼 | |
发表时间:2007-08-22
Linuxboy 写道 5.0.5我在使用中没有遇到乱码问题。
在5.0.5之前,为了使中文能够正常显示,我也使用了你提到的文档中所使用的方法,但5.0.5似乎已经解决了这个问题。至少,我目前还没有碰到form提交乱码的现象。 页面和java class全部使用utf8编码。 mysql 数据库也是使用utf8. 在页面显示的时候没有问题。 但是在提交form时有编码问题。 |
|
返回顶楼 | |
发表时间:2007-08-22
引用 页面和java class全部使用utf8编码。 mysql 数据库也是使用utf8. 在页面显示的时候没有问题。 但是在提交form时有编码问题。 真是郁闷,我的环境和楼主一样的,但是我这样做了,还是乱码。 页面直接显示中文没问题。 |
|
返回顶楼 | |
发表时间:2007-08-22
koda 写道 引用 页面和java class全部使用utf8编码。 mysql 数据库也是使用utf8.
在页面显示的时候没有问题。 但是在提交form时有编码问题。 真是郁闷,我的环境和楼主一样的,但是我这样做了,还是乱码。 页面直接显示中文没问题。 表单提交了乱码多半和servlet container有关系.如果是代码部分,可以参考lichen中的处理: http://lichen-forum.googlecode.com/svn/trunk/src/main/java/lichen/render/RenderModule.java 目前在系统跑在linux tomcat5 mysql5 的平台上,未发现乱码情况。 |
|
返回顶楼 | |
发表时间:2007-08-22
superaxis 写道 koda 写道 引用 页面和java class全部使用utf8编码。 mysql 数据库也是使用utf8.
在页面显示的时候没有问题。 但是在提交form时有编码问题。 真是郁闷,我的环境和楼主一样的,但是我这样做了,还是乱码。 页面直接显示中文没问题。 表单提交了乱码多半和servlet container有关系.如果是代码部分,可以参考lichen中的处理: http://lichen-forum.googlecode.com/svn/trunk/src/main/java/lichen/render/RenderModule.java 目前在系统跑在linux tomcat5 mysql5 的平台上,未发现乱码情况。 Really? 听你这样一说 还觉得真的可能。 我的环境是jetty。 |
|
返回顶楼 | |
发表时间:2007-08-22
tapestry wiki上说 tapestry5.0.5 默认的已经是utf-8
所以 public static PageResponseRenderer decoratePageResponseRenderer 这个方法应该是不用了。 |
|
返回顶楼 | |
发表时间:2007-08-22
dengyin2000 写道 tapestry wiki上说 tapestry5.0.5 默认的已经是utf-8
所以 public static PageResponseRenderer decoratePageResponseRenderer 这个方法应该是不用了。 thanks.已经删掉并且提交了。 |
|
返回顶楼 | |
发表时间:2007-08-22
我的环境也是jetty,但是就是乱码
|
|
返回顶楼 | |
发表时间:2007-08-22
koda 写道 我的环境也是jetty,但是就是乱码
确定你的html 和 java 文件的编码用的是utf-8? eclipse的话 在文件上右键 ---》 然后properties。 |
|
返回顶楼 | |