1、Tapestry组件的写法
a、
<t:textfield t:id="userName" t:value="jack"/>
这样的写法的优点是,看上去比较直观,与Struts等Web框架的一致。但是缺点就是,使用浏览器(或者美工)直接看页面的时候,浏览器无法正确显示这个组件。
b、
<input type="text" t:type="textfield" t:id="userName" t:value="jack"/>
这样写的话,浏览器就能正常显示一个文本输入框了。这也是Tapestry一直鼓吹的一大优点之一。
c、在Java类中使用注解来声明组件。这种方法我个人并不推荐,只是一种选择,并不直观也不方便。
d、Tapestry组件标签是不区分大小写的。
2、组件参数的前缀。从官方文档来看,参数的前缀还挺多的:
Prefix | Description |
asset | The relative path to an asset file (which must exist). |
block | The id of a block within the template. |
component | The id of another component within the same template. |
context | Context asset: path from context root. |
literal | A literal string. |
nullfieldstrategy | Used to locate a pre-defined NullFieldStrategy |
message | Retrieves a value from the component's message catalog. |
prop | A property expression to read or update. |
translate | The name of a configured translator. |
validate | A validator specification used to create some number of field validators. |
var | Allows a render variable of the component to be read or updated. |
但最最常用的只有2个:prop和literal。
简单的说:prop表示这是一个变量名,literal表明这是一个常量;
比如说select这个组件,它的基本写法是:
<t:select t:id="color" model="literal:Red,Green,Blue" label="Colour:"/>
查看select的参考文档,model这个参数的缺省前缀是prop,所以如果直接写model="red"的话,Tapestry会认为red是一个变量名,会调用页面对应类的getRed()方法来获得一个列表。所以,此处如果想使用一个常量的话,需要显示指明literal前缀。而label的缺省前缀是literal,所以直接这样写就没有问题。
3、Label,显示一个标签,一般在需要多语言的环境下或者与textField配合使用:
<t:label t:for="userName">Label for the user name</t:label>
Lable组件有一个t:for的属性,这个属性的值一般是一个textField的id。我们可以注意到Lable标签里写一段文字,这一段文字在页面部署运行后是不会显示的,写在这里,纯粹是给美工这样的静态页面浏览者看的。在实际运行中这一段文字会被替代。替代的内容就是t:for属性对应的TextField组件的t:id的值,比如:userName。当然Tapestry会自动把userName分成两个单词,而且把user的首字母大写。
如果根据t:id生成的lable不符合要求,可以有另一种选择:直接在textField中指定label:
<input type="text" t:type="textField" t:id="userName" t:label="Input User Name" t:value="jack"/>
4、PageLink,用于显示一个链接,点击后,跳转到指定页面:
<a href="#" t:type="pageLink" t:page="register">Register</a>
5、ActionLink,用于显示一个链接,点击后,运行一个可以带有参数的指令:
<a href="#" t:type="actionLink" t:context="id" t:id="clickLink">
${user.id}
</a>
如果一个参数不够,比如,只用一个id不能唯一确定一个用户,必须结合部门id才能唯一确定用户的话,那么可以这样做:
<a href="#" t:type="actionLink" t:context="userContext" t:id="clickLink">delete</a>
相应的在java class中需要添加一个方法getUserContext():
public Object[] getUserContext() {
return new Object[] {user.id, department.id};
}
6、Loop,Loop并不是一个真正的Form控件,严格说起来是一种逻辑控制语句。语法如下:
<t:loop source="userList" value="user">
<td>${user.name}</td>
</t:loop>
7、radiogroup & radio
<t:radiogroup t:id="type">
<t:radio t:id="masterCard"/>
<t:label for="masterCard"/>
<t:radio t:id="visa"/>
<t:label for="visa"/>
<t:radio t:id="amex"/>
<t:label for="amex"/>
<t:radio t:id="dinersClub"/>
<t:label for="dinersClub"/>
<t:radio t:id="discover"/>
<t:label for="discover"/>
</t:radiogroup>
8、CheckBox
<t:checkbox t:id="showall" onclick="this.form.submit();"/>
<t:label for="showall"/>
9、Select
<t:select t:id="color" model="literal:Red,Green,Blue"/>
原文地址:http://www.blogjava.net/usherlight/archive/2009/06/20/283396.html
分享到:
相关推荐
【描述】"tapestry-bin-5.1.0.5" 描述了该版本是Tapestry框架的5.1.0.5版,这通常意味着它包含了该框架在那个时间点的所有功能和修复的错误。这个版本可能比之前的版本有所改进,包括性能优化、新功能添加以及对已有...
tapestry5.1.0.5中文实例教程,对于目前国内tapestry学习资源紧缺的情况,可谓填补了中文学习最大的空白,对于想学习tapestry5框架的人来说可谓字字如金,内容详尽,由浅入深,pdf格式
在官方下载的最新的tapestry5的api文档。。。。。。
来自:http://tapestry.apache.org/tapestry5.1/tapestry-core/ref
包含: tapestry 的源代码, tapestry集成spring2.0 tapestry快速启动 tapestry upload tapestry hibernate tapestry annotations
Tapestry5.0.16文档和大家一起学习
Tapestry是一个基于控件的框架以致于用它开发Web应用类似开发传统的GUI应用。你用Tapestry开发Web应用时你无需关注以操作为中心的(Operation-centric) Servlet API.引用Tapestry网站上的一句话:"Tapestry用对象...
《Tapestry5.1实例教程》是一份深入讲解Java Web开发框架Tapestry5.1的实践指导文档。Tapestry5.1是Apache软件基金会的一个开源项目,它为开发者提供了一种高度模块化、组件化的Web应用程序开发方式,强调了代码的...
Tapestry5最新中文教程.doc 作者 Renat Zubairov & Igor Drobiazko译者 沙晓兰 发布于 2008年7月2日 下午9时30分 社区 Java 主题 Web框架 ----------------------------------------- Tapestry5.1实例教程.pdf ...
Tapestry4开发指南.rar Tapestry4开发指南.rar Tapestry4开发指南.rar
### 关于Tapestry 5的关键知识点 #### 1. 什么是Tapestry? Tapestry是一个开源框架,用于创建动态、稳健且高度可扩展的Java Web应用程序。它补充并建立在标准Java Servlet API之上,因此可以在任何Servlet容器或...
**Tapestry 5.1 实例教程全览** Tapestry 5.1 是一个强大的Java Web应用程序框架,由Apache软件基金会维护。这个框架以其组件化、类型安全的URL映射、内置的依赖注入以及丰富的功能而备受赞誉。本教程全面地涵盖了...
【Tapestry 5.1 实例教程】 Tapestry 5.1 是一个基于Java的Web应用程序框架,由Apache软件基金会开发。它提供了一种高效、声明式的方法来构建动态、高性能的Web应用,强调组件化和强类型的安全性。Tapestry 5.1在...
- **跟踪最新动态**:关注Tapestry5项目的更新日志和技术博客,了解最新的技术和最佳实践。 总之,《Tapestry5:构建Web应用程序》是一本非常适合希望使用Tapestry5框架构建高质量Web应用的开发者的指南。无论是...
- 访问 [http://tapestry.apache.org/](http://tapestry.apache.org/) 下载 tapestry-bin-5.1.0.5.zip。 - 备份以备后续使用。 ##### 1.5 新建 Web 工程 - **步骤**: - 打开 Eclipse,选择 File > New > ...