T5 技巧 1:解决Form的提交乱码问题。

[color=red]现在正在使用T5开发一个小项目。 因为现在T5还正处于发展中。 而且没有像T4一样有许多的文档。 和例子(Workbench, Vlib)。 所以我会把在这个开发中遇到的一些问题记录下来。[/color]


tapestry5.0.5现在默认支持UTF-8编码。 但是发现在form提交数据后。 数据变成了乱码。

解决方案是增加一个Filter。


[code] 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);
}
};
}[/code]

然后contribute给RequestHandler。

[code] 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);
}[/code]

以上代码都是放在AppModule.java中。。

参考:http://wiki.apache.org/tapestry/Tapestry5Utf8Encoding
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值