T5 技巧 1:解决Form的提交乱码问题。
现在正在使用T5开发一个小项目。 因为现在T5还正处于发展中。 而且没有像T4一样有许多的文档。 和例子(Workbench, Vlib)。 所以我会把在这个开发中遇到的一些问题记录下来。
tapestry5.0.5现在默认支持UTF-8编码。 但是发现在form提交数据后。 数据变成了乱码。
解决方案是增加一个Filter。
jsp页面要设置
开发工具要设置
连接数据库要设置
java包
最好的办法是使用楼主使用的方案,过滤器
在tomcat的示例里有个过滤器,拷贝过去,改下就可以了 25 楼 kris_xu 2007-09-05 和form的提交方式有关吗?get?post? 26 楼 kris_xu 2007-09-05 如果是get方式提交,应该设置server.xml中RUIEncoding="UTF-8" 27 楼 iorigod123 2007-12-28 小弟也碰到过这种问题,有upload组件就会提交成乱码,小弟的解决方法有点笨,就是搞个转换,居然可以成功转换,代码如下:
public static String getUTF8(String temp){
try{
return new String(temp.getBytes("iso-8859-1"),"utf-8");
}catch(Exception e){
return "";
}
} 28 楼 liyong_2003_cn 2007-12-28 iorigod123 写道小弟也碰到过这种问题,有upload组件就会提交成乱码,小弟的解决方法有点笨,就是搞个转换,居然可以成功转换,代码如下:
public static String getUTF8(String temp){
try{
return new String(temp.getBytes("iso-8859-1"),"utf-8");
}catch(Exception e){
return "";
}
}象这种转换是最保险的,用filter的情况,对post提交是有效的,但是对get提交是无效的,这个跟post和get提交的机制有关系。以前项目遇到过这个问题,现在基本上都采用转换了,不用filter了,效率没仔细比较过,估计差不太多。
如果是get方式提交,应该设置server.xml中RUIEncoding="UTF-8"
29 楼 dengyin2000 2007-12-28 谁会用get去穿中文内容。 一般get都是用来传ID的。