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文件中使用,具体不介绍了,和其他用法一样。
分享到:
相关推荐
Tapestry是一款强大的Java Web应用程序框架,由Apache软件基金会维护,它强调了组件化、模块化和可重用性,使得开发复杂的Web应用变得更加简单。本文将深入介绍Tapestry 4的相关知识点。 1. **组件化编程**: ...
Tapestry是一款强大的Java Web应用程序框架,由Apache软件基金会维护,它提供了一种基于组件的模型来构建动态、数据驱动的Web应用。本教程将帮助初学者了解Tapestry的基本概念,带你逐步入门并掌握其核心组件的使用...
1. Tapestry 把在建立 Web 应用程序容易出错的工作交由框架本身来完成,接管了大量手工完成的任务,如分发用户请求,创建和解释 URL 信息,操作本地化和国际化等等大量的工作。 2. Tapestry 由“对象、方法、域”...
通过研究这些源码和API,开发者不仅可以掌握Tapestry的基本用法,还能深入了解其设计哲学和内部工作流程,从而更好地优化和扩展自己的应用程序。同时,对于那些希望贡献到Tapestry开源项目的人来说,这是一份宝贵的...
Tapestry5最新中文教程.doc 作者 Renat Zubairov & Igor Drobiazko译者 沙晓兰 发布于 2008年7月2日 下午9时30分 社区 Java 主题 Web框架 ----------------------------------------- Tapestry5.1实例教程.pdf ...
### Tapestry4开发指南 #### 一、Tapestry4概览 Tapestry4作为一款先进的Web应用框架,由Howard Lewis Ship所创造,旨在提供一种更为高效、灵活的Web应用构建方式。与前代Tapestry3相比,Tapestry4在设计上有了...
**Tapestry 3 开发指南** Tapestry 3 是一个开源的Java Web应用程序框架,它在20世纪90年代末至21世纪初非常流行,由Apache软件基金会维护。这个框架提供了组件化、事件驱动和声明式编程模型,帮助开发者构建动态、...
Tapestry是一个基于控件的框架以致于用它开发Web应用类似开发传统的GUI应用。你用Tapestry开发Web应用时你无需关注以操作为中心的(Operation-centric) Servlet API.引用Tapestry网站上的一句话:"Tapestry用对象...
读者将学习如何创建和定制自己的组件,以及如何通过事件来协调组件间的交互。 接着,书中会详细讲解Tapestry 5的模版语言和表达式语言,让开发者能够有效地定义页面布局和动态内容。Tapestry的模版语言允许开发者...
Tapestry是一个强大的Java Web应用程序框架,由Apache软件基金会维护。它旨在提高开发效率,提供高度模块化和可重用的组件,以及优秀的错误处理和调试能力。在深入探讨Tapestry的知识点之前,让我们先了解一下这个...
Apache Tapestry 5 是一个基于Java的Web应用开发框架,其设计目的是为了简化Web应用程序的构建,提供组件化的页面构建、输入验证、本地化、状态管理和URL映射等功能。Tapestry 5 强调易用性,不仅对终端用户友好,...
Tapestry 5.2.6 是一个成熟的Java Web开发框架,它提供了一种高效、模块化和可扩展的方式来构建动态、数据驱动的Web应用程序。这个框架的核心理念是将用户界面与业务逻辑分离,通过组件化的思想实现页面的构建,从而...
Tapestry的组件系统非常强大,允许开发者定义自己的可复用组件,每个组件都可以有自己的属性、事件和行为。这些组件可以通过简单的XML标记(如`<span jwcid="@Insert" ...>`)在页面模板中使用。ognl(Object-Graph ...
每个组件都有自己的状态和生命周期,可以通过声明式的方式来定义其行为。这使得代码更易于理解和维护,同时也提高了开发效率。 **二、Tapestry 组件** 1. **页面组件**:Tapestry 应用的基础单元是页面,页面由一...
Tapestry5.0.16文档和大家一起学习
它将Web页面分解为独立、可重用的组件,每个组件都有自己的状态和行为。这种设计模式提高了代码的可维护性和可扩展性。开发者可以专注于创建和组合这些组件,而不是处理低级别的HTML和Servlet细节。 在Tapestry 4.0...
对于Web应用程序的生命周期管理,Tapestry 4有自己独特的方式。书中会介绍组件实例的生命周期,包括初始化、渲染和服务请求处理。读者还将学习如何处理异常,进行安全性和性能优化。 表单处理是Web应用中的重要部分...
Apache Tapestry是一个开源的Java Web框架,它的核心理念是将用户界面分解为可重用的组件,每个组件有自己的HTML模板、Java代码以及状态管理。Tapestry通过组件事件处理和页面导航规则来管理应用程序的流程,这使得...
**Tapestry API 深度解析** Tapestry,作为一个强大的MVC(Model-View-Controller)结合模板技术的Web开发框架,为Java开发者提供了一种高效且灵活的构建Web应用程序的方式。它通过组件化的设计,使得代码更加模块...