使用自己的translator
来源:互联网 发布:分布式数据库的实现 编辑:程序博客网 时间:2024/06/13 21:18
在tapestry4中,如果表单中有文件上传组件和文本输入框,则表单提交后文本输入框中输入的中文将变为乱码,我的页面、java文件都是GBK编码,网上有人说都采用utf-8编码就可以也不敢试。
跟了一下tapestry代码,发现textfield组件使用了translator进行了输入值的转换,于是自己定义了一个translator来转换中文输入为正确的编码格式。
1.定义自己的转换器:
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
public class MyStringTranslator extends StringTranslator ...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
protected Object parseText(IFormComponent field, ValidationMessages messages, String text) ...{
String myText = null;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
try ...{
myText = new String(text.getBytes("iso-8859-1"),"GBK");
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
} catch (Exception ex) ...{
myText = text;
}
return myText
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif)
2.在hivemoudle中配置这个转换器:
<contribution configuration-id="tapestry.form.translator.Translators">
<bean name="mystring" class="org.MyStringTranslator"/>
</contribution>
<bean name="mystring" class="org.MyStringTranslator"/>
</contribution>
3.在html或者page中使用这个转换器:
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
- 使用自己的translator
- microsoft的azure上的Microsoft Translator使用例子
- 使用Microsoft Translator进行翻译
- C#调用Bing的在线翻译接口Translator
- Message Translator
- Message Translator
- 使用自己的两条腿
- 使用自己的模块
- 使用自己的图标
- 使用自己的Toast
- QT 国际化扩展所感 an extending QT Translator (自己实现翻译逻辑,编辑更方便)
- 检查你的NAT (Network Address Translator) 和p2p协议的兼容性
- 使用自己的make menuconfig
- 使用自己的Smarty类
- 使用自己的xmarks服务器
- 使用自己制定的openssl
- 自己的总结:工具使用
- textview 使用自己的字体
- 求助:如何用路由器构建一个小型的家庭局域网
- C# 函数大全(转)
- 数据库常用资料
- js实现复选框 全选、反选、不选
- 如何防止SWF文件被反编译
- 使用自己的translator
- 使用Random函数创建随机数
- SQL 2000 事务隔离
- SP对手机发送流程,手机对手机发送流程
- wav文件格式分析详解
- Ares源码 单元介绍(自己根据最新版本更新)
- Linux学习笔记--ln连接文件
- 用DateTime.ToString(string format)输出不同格式的日期
- sqlhelper使用指南