我搞了一个在Tapestry4下的图片校验组件,它只有一个输入参数就是接受验证码,
并且支持服务端校验机制即当输入的验证码与图片显示不一致就会在验证提示信息中
提示错误。
1.先把lintw_jwc.jar导到项目下的lib目录下。
2.在application中配置类库。
<library id="linlib" specification-path="classpath:/com/lintw/jwc/lin.library"/>
3.在html及page中引入该组件
例:
[html]:
...
<body jwcid="@Body">
<table width="100%" border="0" cellspacing="10">
<tr>
<td>
<span jwcid="errorList">
<li class="style1"><strong>错误提示:</strong><span jwcid="errorItem">错误信息</span></li>
</span>
<form jwcid="validForm" name="form1" method="post" action="">
<table width="100%" border="0">
<tr>
<td align="right">校验码</td>
<td><input type="text" name="textfield" jwcid="validCode"/> <span jwcid="imageValid"/></td>
</tr>
</table>
<p>
<input type="submit" name="Submit" value="提交"/>
</p>
</form>
</td>
</tr>
</table>
</body>
...
[page]:
....
<!--校验窗体-->
<bean name="delegate" class="org.apache.tapestry.valid.ValidationDelegate"/>
<property name="errorRender"/>
<component id="errorList" type="Foreach">
<binding name="source" value="beans.delegate.errorRenderers"/>
<binding name="value" value="errorRender"/>
</component>
<component id="errorItem" type="Delegator">
<binding name="delegate" value="errorRender"/>
</component>
<component id="validForm" type="Form">
<binding name="delegate" value="bean:delegate"/>
<binding name="listener" value="listener:validSubmit"/>
</component>
<!--TextField-->
<property name="validCode"/>
<component id="validCodeText" type="TextField">
<binding name="value" value="validCode"/>
<binding name="displayName" value="literal:校验码"/>
<binding name="validators" value="validators:required"/>
</component>
<component id="imageValid" type="linlib:ImageValid">
<binding name="validCode" value="validCode"/>
</component>
...
注:valiCodeText要保证比imageValid先解析。
不足之处望大家多提宝贵意见。
分享到:
相关推荐
Tapestry 4.0 的核心理念是组件化。它将Web页面分解为独立、可重用的组件,每个组件都有自己的状态和行为。这种设计模式提高了代码的可维护性和可扩展性。开发者可以专注于创建和组合这些组件,而不是处理低级别的...
### Tapestry 4.0 简易教程知识点解析 #### 一、基础知识(Using Forms) **1.1 Page文件和Class文件联系** - **概念理解:** 在Tapestry框架中,`Page`文件与对应的Java `Class`文件之间存在着紧密的联系。这种...
### Tapestry 4.0:理解与应用 #### 前言 《Enjoying Web Development with Tapestry》这本书为读者提供了深入浅出的学习路径,帮助读者掌握如何利用Tapestry框架轻松开发高质量的Web应用程序。本书由Kai Oak Kent...
- Tapestry4.0使用HTML模板来定义页面布局,其中嵌入了Tapestry特定的指令,如组件引用和属性绑定。 5. **页面和组件生命周期** - 页面和组件都有明确的生命周期,包括创建、初始化、服务请求和销毁等步骤,这有...
在 Tapestry 5 框架中,自定义组件是扩展其功能的关键方式,它允许开发者根据特定需求创建个性化和可重用的 UI 元素。Tapestry 5 是一个强大的 Java Web 应用程序开发框架,它强调组件化、模块化以及声明式编程模型...
使用T4与Tapestry 4.0相结合,开发者可以自动生成UI组件的后台代码,简化组件的生命周期管理,如初始化、渲染和事件处理。此外,T4还可以帮助自动化服务层的代码生成,比如数据库访问对象(DAO)、实体类和业务逻辑...
在`docs`目录下,可能包含了数据库脚本,用于创建用户和所需的表结构。 再者,Spring框架是Java企业级应用的核心框架,它提供依赖注入、AOP(面向切面编程)、事务管理等关键功能。在Tapestry和Hibernate之间,...
本文将深入探讨Tapestry 4.02版本中对ExtJS的GridPanel组件进行封装的相关知识点。 首先,Tapestry是一个基于Java的开源Web应用框架,它提供了组件化开发的方式,使得开发者可以构建出结构清晰、可维护性强的大型...
1. **文本框(Textfield)**:Tapestry的Textfield组件用于接收用户的单行文本输入。通过属性绑定,它可以将用户的输入与模型对象的特定字段关联起来。例如,`<t:Textfield value="username" />` 将创建一个文本框,...
来自:http://tapestry.apache.org/tapestry5.1/tapestry-core/ref
Tapestry3.1在设计初期即在Hivemind框架下构建,但由于某些原因,没有从Hivemind中独立出来,从而发展成了Tapestry4.0。Tapestry4与Hivemind的结合,虽然在最初可能会引发一些争议,尤其是对于那些习惯于Spring框架...
- **Tapestry 4.0**: Tapestry是一个用于构建复杂Web应用程序的开源框架。Tapestry 4.0版本是一个较早的版本,现代开发可能考虑使用更新的版本。 - **项目构建路径配置**: 在Eclipse中配置项目的构建路径时,需要...
Tapestry是一款强大的Java Web应用程序框架,由Apache软件基金会维护,它提供了一种基于组件的模型来构建动态、数据驱动的Web应用。本教程将帮助初学者了解Tapestry的基本概念,带你逐步入门并掌握其核心组件的使用...
Tapestry是一款强大的Java Web应用程序框架,由Apache软件基金会维护,它强调了组件化、模块化和可重用性,使得开发复杂的Web应用变得更加简单。本文将深入介绍Tapestry 4的相关知识点。 1. **组件化编程**: ...
在本书还提供了一个以Hibernate+Hivemind+Tapestry 4.0为架构的J2EE Web应用程序示例,为读者提供一个完整的J2EE Web应用程序解决方案。本书还介绍了作者为Tapestry扩展的额外功能,即页面流程,详细阐述了该功能的...
同时,书中还提供了一个Hibernate+HiveMind+Tapestry4.0为架构的J2EE Web应用程序示例,为读者提供一个完整的J2EE Web应用程序解决方案。 《深入浅出Tapestry高清版》在介绍内容的安排上,充分考虑到Tapestry对主流...
1. **页面和组件的生命周期**:每个Tapestry 3应用由一系列页面组成,页面又包含多个组件。Tapestry管理这些页面和组件的创建、初始化、渲染和销毁过程。 2. **模板和元数据**:Tapestry使用HTML模板定义页面布局,...
8. **服务组件**:Tapestry的服务组件是一种全局可访问的资源,可以用于实现跨越多个页面或组件的功能,比如数据库连接池、缓存服务等。 9. **错误和异常处理**:Tapestry提供了一套优雅的错误和异常处理机制,能够...