`

Tapestry 建立自己的Translator

阅读更多

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官方中文文档

    Tapestry是一款强大的Java Web应用程序框架,由Apache软件基金会维护,它强调了组件化、模块化和可重用性,使得开发复杂的Web应用变得更加简单。本文将深入介绍Tapestry 4的相关知识点。 1. **组件化编程**: ...

    Tapestry简单入门.rar_java Tapestry_tapestry

    Tapestry是一款强大的Java Web应用程序框架,由Apache软件基金会维护,它提供了一种基于组件的模型来构建动态、数据驱动的Web应用。本教程将帮助初学者了解Tapestry的基本概念,带你逐步入门并掌握其核心组件的使用...

    tapestry学习入门资料

    1. Tapestry 把在建立 Web 应用程序容易出错的工作交由框架本身来完成,接管了大量手工完成的任务,如分发用户请求,创建和解释 URL 信息,操作本地化和国际化等等大量的工作。 2. Tapestry 由“对象、方法、域”...

    tapestry源码 api等

    通过研究这些源码和API,开发者不仅可以掌握Tapestry的基本用法,还能深入了解其设计哲学和内部工作流程,从而更好地优化和扩展自己的应用程序。同时,对于那些希望贡献到Tapestry开源项目的人来说,这是一份宝贵的...

    tapestry教程资料文档合集

    Tapestry5最新中文教程.doc 作者 Renat Zubairov & Igor Drobiazko译者 沙晓兰 发布于 2008年7月2日 下午9时30分 社区 Java 主题 Web框架 ----------------------------------------- Tapestry5.1实例教程.pdf ...

    Tapestry4开发指南

    ### Tapestry4开发指南 #### 一、Tapestry4概览 Tapestry4作为一款先进的Web应用框架,由Howard Lewis Ship所创造,旨在提供一种更为高效、灵活的Web应用构建方式。与前代Tapestry3相比,Tapestry4在设计上有了...

    tapestry3开发指南,带tapestry3所有jar包

    **Tapestry 3 开发指南** Tapestry 3 是一个开源的Java Web应用程序框架,它在20世纪90年代末至21世纪初非常流行,由Apache软件基金会维护。这个框架提供了组件化、事件驱动和声明式编程模型,帮助开发者构建动态、...

    tapestry5以上的帮助事例,帮助文档与spring衔接文档

    Tapestry是一个基于控件的框架以致于用它开发Web应用类似开发传统的GUI应用。你用Tapestry开发Web应用时你无需关注以操作为中心的(Operation-centric) Servlet API.引用Tapestry网站上的一句话:"Tapestry用对象...

    Tapestry 5 電子書

    读者将学习如何创建和定制自己的组件,以及如何通过事件来协调组件间的交互。 接着,书中会详细讲解Tapestry 5的模版语言和表达式语言,让开发者能够有效地定义页面布局和动态内容。Tapestry的模版语言允许开发者...

    Tapestry通用WEB框架

    Tapestry是一个强大的Java Web应用程序框架,由Apache软件基金会维护。它旨在提高开发效率,提供高度模块化和可重用的组件,以及优秀的错误处理和调试能力。在深入探讨Tapestry的知识点之前,让我们先了解一下这个...

    tapestry5中文文档

    Apache Tapestry 5 是一个基于Java的Web应用开发框架,其设计目的是为了简化Web应用程序的构建,提供组件化的页面构建、输入验证、本地化、状态管理和URL映射等功能。Tapestry 5 强调易用性,不仅对终端用户友好,...

    tapestry5.2.6 jar包

    Tapestry 5.2.6 是一个成熟的Java Web开发框架,它提供了一种高效、模块化和可扩展的方式来构建动态、数据驱动的Web应用程序。这个框架的核心理念是将用户界面与业务逻辑分离,通过组件化的思想实现页面的构建,从而...

    Tapestry4.1.2 入门-介绍

    Tapestry的组件系统非常强大,允许开发者定义自己的可复用组件,每个组件都可以有自己的属性、事件和行为。这些组件可以通过简单的XML标记(如`&lt;span jwcid="@Insert" ...&gt;`)在页面模板中使用。ognl(Object-Graph ...

    tapestry 实例

    每个组件都有自己的状态和生命周期,可以通过声明式的方式来定义其行为。这使得代码更易于理解和维护,同时也提高了开发效率。 **二、Tapestry 组件** 1. **页面组件**:Tapestry 应用的基础单元是页面,页面由一...

    Tapestry5.0.16_API文档

    Tapestry5.0.16文档和大家一起学习

    tapestry-4.0.zip

    它将Web页面分解为独立、可重用的组件,每个组件都有自己的状态和行为。这种设计模式提高了代码的可维护性和可扩展性。开发者可以专注于创建和组合这些组件,而不是处理低级别的HTML和Servlet细节。 在Tapestry 4.0...

    tapestry4开发指南

    对于Web应用程序的生命周期管理,Tapestry 4有自己独特的方式。书中会介绍组件实例的生命周期,包括初始化、渲染和服务请求处理。读者还将学习如何处理异常,进行安全性和性能优化。 表单处理是Web应用中的重要部分...

    Tapestry spindle插件下载

    Apache Tapestry是一个开源的Java Web框架,它的核心理念是将用户界面分解为可重用的组件,每个组件有自己的HTML模板、Java代码以及状态管理。Tapestry通过组件事件处理和页面导航规则来管理应用程序的流程,这使得...

    Tapestry API

    **Tapestry API 深度解析** Tapestry,作为一个强大的MVC(Model-View-Controller)结合模板技术的Web开发框架,为Java开发者提供了一种高效且灵活的构建Web应用程序的方式。它通过组件化的设计,使得代码更加模块...

Global site tag (gtag.js) - Google Analytics