Tapestry 自带了3种类型的translator,包括string,date,number,可以验证客户前台的输入,并进行自动类型转换。
我们自己也可以定义自己的translator,来实现自己的具体要求。
简单举个例子。
首先建立一个translator类,继承 org.apache.tapestry.form.translator.AbstractTranslator
package org.appfuse.tapestry.translators;
import java.util.Locale;
import org.apache.tapestry.form.IFormComponent;
import org.apache.tapestry.form.ValidationMessages;
import org.apache.tapestry.form.translator.AbstractTranslator;
import org.apache.tapestry.valid.ValidatorException;
public class FullToHalfTranslator extends AbstractTranslator{
//这个方法在页面文件render的时候执行。你可以在这里调用自己的方法,来实现需要的转换。在这里JapanEncodeUtil.toHalf方法是我自己定义的一个实现全角文字转化成半角文字的方法,具体代码没必要贴出来了。
protected String formatObject(IFormComponent arg0, Locale arg1, Object arg2) {
String str = JapanEncodeUtil.toHalf(arg2.toString());
return str;
}
//这个方法在页面文件submit的时候调用。
protected Object parseText(IFormComponent field, ValidationMessages message, String text) throws ValidatorException {
return JapanEncodeUtil.toHalf(text);
}
}
ok,就这么简单。接下来,在hivemodule.xml文件中添加下面定义
<contributionconfiguration-id="tapestry.form.translator.Translators">
<beanname="fullToHalf" class="org.appfuse.tapestry.translators.FullToHalfTranslator" />
</contribution>
ok,下面就可以在page文件中使用了
代码片断:
<componentid="remoteFileDir" type="TextField">
<bindingname="value" value="backupJobSetting.remoteFileDir"/>
<bindingname="translator" value="translator:fullToHalf"/>
<bindingname="validators" value="validators:required"/>
<bindingname="displayName" value="message:backupJobSetting.remoteFileDir"/>
</component>
也可以在html文件中使用,具体不介绍了,和其他用法一样。
分享到:
相关推荐
Tapestry5最新中文教程.doc 作者 Renat Zubairov & Igor Drobiazko译者 沙晓兰 发布于 2008年7月2日 下午9时30分 社区 Java 主题 Web框架 ----------------------------------------- Tapestry5.1实例教程.pdf ...
资源名称:深入浅出Tapestry内容简介:本书以循序渐进的方式,从Tapestry框架技术的基本概念入手,讲解Tapestry框架在J2EE Web应用程序中的整体架构实现。使读者在学习如何使用Tapestry框架技术的同时,还能够获得在...
Tapestry是一个基于控件的框架以致于用它开发Web应用类似开发传统的GUI应用。你用Tapestry开发Web应用时你无需关注以操作为中心的(Operation-centric) Servlet API.引用Tapestry网站上的一句话:"Tapestry用对象...
Tapestry 4 官方文档中文版本,现在中文资料比较少,和大家共享一下
tapestry 实例tapestry 实例tapestry 实例tapestry 实例
Tapestry5.0.16文档和大家一起学习
tapestry3开发指南,带tapestry3所有jar包
本书以循序渐进的方式,从Tapestry框架技术的基本概念入手,讲解Tapestry框架在J2EE Web应用程序中的整体架构实现。使读者在学习如何使用Tapestry框架技术的同时,还能够获得在J2EE Web应用程序中应用Tapestry框架的...
Tapestry4开发指南
tapestry5.2.6 最新jar包,Tapestry框架是一个位于java servlet容器和Tapestry应用程序之间的层
tapestry技术 Tapestry是一个开源的基于servlet的应用程序框架,它使用组件对象模型来创建动态的,交互的web应用。一个组件就是任意一个带有jwcid属性的html标记。其中jwc的意思是Java Web Component。Tapestry使得...
包含: tapestry 的源代码, tapestry集成spring2.0 tapestry快速启动 tapestry upload tapestry hibernate tapestry annotations
Tapestry是一个开源的基于servlet的应用程序框架,它使用组件对象模型来创建动态的,交互的web应用。一个组件就是任意一个带有jwcid属性的html标记。其中jwc的意思是Java Web Component。Tapestry使得java代码与html...
本文介绍Tapestry框架版本5。本文利用Tapestry 5开发一个简单的具有创建/读/更新/删除功能的应用,在创建这个应用的过程中,本文体会到Tapestry带来的开发效率的提升。从多方面来讲解 Tapestry应用,比如应用的...
强大的tapestry框架的学习入门资料,详细介绍了tapestry的常用开发文档。
Tapestry通用WEB框架支持,切换皮肤,自主分页,
最新Tapestry 5 電子書
Tapestry简明教程
tapestry源码文档以及API,需要更早版本请私信