没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
Tapestry 字典 2006-9-24
Tapestry 字典
(Enjoy Web Dev With Tapestry 快查文档)
Author: hero
xiafei114@gmail.com
本文笔者初学 Tapestry 发现关于 tapestry 的资料奇
缺,学习起来很不方便,在自学 Enjoy Web Dev With
Tapestry 时将所作的练习记录了下来,为了以后方便查
看。
使用字典时遇到书写不清楚的时候请查阅 Enjoy
Web Dev With Tapestry。其中,国际化、下载、数据库操
作、应用 hibernate、strute 在字典中没有做记录。
笔者在 javaSE1.5.0_07、Tapestry4.1、jetty-5.1.6 环境
下程序均运行成功。
第 1 页 共 66 页
Tapestry 字典 2006-9-24
目录:
Tapestry字典.....................................................................................................................................1
1. 基础知识(Using Forms)......................................................................................................4
1.1. page文件和class文件联系 ...........................................................................................4
1.2. 页面跳转.......................................................................................................................4
1.3. 初始化...........................................................................................................................4
1.4. 在html页面装配 ...........................................................................................................5
1.5. 使用下拉列表框(combo box).................................................................................5
1.6. 使用日历工具(DatePicker) .....................................................................................6
2. 输入校验(Validating Inputs) ...............................................................................................6
2.1. 初始程序(map的使用)............................................................................................6
2.2. 变量自动转换/校验变量类型......................................................................................8
2.3. 消息显示.......................................................................................................................8
2.4. 弹出框校验...................................................................................................................9
2.5. 使用FieldLabel标签 ...................................................................................................10
2.6. 自定义校验规则.........................................................................................................10
2.7. 显示多行错误信息.....................................................................................................11
2.8. 页面加入js代码 ..........................................................................................................12
2.9. 自定义错误显示.........................................................................................................13
2.10. 使用date和taxtarea并加校验 .....................................................................................13
3. e商店(Creating an e-Shop) ................................................................................................14
3.1. EShop练习基础程序 ..................................................................................................14
3.2. 显示详细资料 - 使用DirectLink组建 ...................................................................16
3.3. 显示详细资料 2 - 在另一页显示信息..................................................................16
3.4. 使用不同包中的类.....................................................................................................18
3.5. 区别按钮点击方法.....................................................................................................18
3.6. 使用Session ................................................................................................................19
3.7. 登录/登出PageLink组建/@InjectStateFlag注释........................................................20
3.8. 先选择商品在登录.....................................................................................................21
3.9. 阻挡恶意用户使用PageValidateListener接口 ...........................................................21
3.10. 任何也登录都可以回到发起页面 - 使用IExternalPage接口 .................................22
3.11. 密码隐藏.....................................................................................................................23
3.12. 登出 – logout .............................................................................................................23
4. 自定义组建(Creating Custom Components) ....................................................................23
4.1. 基本代码.....................................................................................................................23
4.2. 组建嵌套.....................................................................................................................25
4.3. 可替换模板变量.........................................................................................................25
4.4. 组建使用指定包.........................................................................................................26
4.5. 给模板传值.................................................................................................................26
4.6. 建立library..................................................................................................................28
5. 使用Table组建(Using the Table Component) ...................................................................29
5.1. 简单table应用.............................................................................................................29
5.2. 列表交互背景颜色.....................................................................................................32
第 2 页 共 66 页
Tapestry 字典 2006-9-24
5.3. 使用tapestry - Contrib.library ................................................................................33
5.4. 自定义table显示的值/列............................................................................................34
5.5. table多语言显示列名.................................................................................................35
5.6. 在Contrib:Table中使用CSS........................................................................................35
5.7. 在名字上添加连接.....................................................................................................36
5.8. Tapestry使用Table模版 ..............................................................................................36
5.9. 自动分页.....................................................................................................................37
5.10. 程序修改准备.............................................................................................................37
5.11. 部分分页显示(不一次从数据库中提出全部记录) .............................................39
5.12. 使用缓存.....................................................................................................................41
5.13. 在table中加入按钮.....................................................................................................42
5.14. 更新缓存.....................................................................................................................43
5.15. 删除排序连接.............................................................................................................43
5.16. 自定义table样式.........................................................................................................43
6. 文件上传下载(Handling File Downloads and Uploads)...................................................47
6.1. 源形 页面显示图片...................................................................................................47
6.2. 上传文件.....................................................................................................................49
7. 使用公共层(Providing a Common Layout) ......................................................................51
7.1. 公共层基础程序.........................................................................................................51
7.2. 去掉选中下划线.........................................................................................................52
7.3. 添加标题.....................................................................................................................52
8. 使用Javascript (Using Javascript) ....................................................................................53
8.1. 简单js..........................................................................................................................53
8.2. 可复用js(tapestry4.1 自动添加dojo所以再源例上做了修改).............................53
8.3. 多script自动更名........................................................................................................54
8.4. 组建中使用script........................................................................................................55
9. 动态创建列表(Building Dynamic Forms) ........................................................................56
9.1. 基础程序.....................................................................................................................56
9.2. 将主键隐藏存储在form上 .........................................................................................59
9.3. 数据校验,不通过不能更新.....................................................................................59
9.4. 加入选择框chexckbox ...............................................................................................60
9.5. 多用户删除问题.........................................................................................................62
9.6. 加入下拉框select........................................................................................................62
9.7. 通过刷新更新信息,刷新后不显示错误信息.........................................................65
9.8. 避免选择数组跃界.....................................................................................................65
第 3 页 共 66 页
Tapestry 字典 2006-9-24
1. 基础知识(Using Forms)
1.1. page 文件和 class 文件联系
在 page 文件中加入,如
<page-specification class="com.ttdev.helloworld.Home">
</page-specification>
1.2. 页面跳转
1) cycle.activate("Result");
//Result 是一个页面
2) return "Result";
//Result 是一个页面,方法返回值需要改成 String
3) Result resultPage = (Result) cycle.getPage("Result");
return resultPage;
//需要 import Result 类
4) Result resultPage = getResultPage();
resultPage.setStockValue(stockValue);
return cycle.getPage("Result");
//在 page 文件中需要设置
<inject property="resultPage" type="page" object="Result"/>
5) 使用 java5.0 注释
在 class 中导入 import org.apache.tapestry.annotations.*;类
@InjectPage("Result") //Result 是要跳转的页面
public abstract Result getResultPage();
1.3. 初始化
1) 在 class 中加入
protected void initialize() {
stockValue = 0;
}
2) 在 page 文件中加入
<property name="stockValue"/>
//tapestry 在运行时会自动建立如:
public class ResultEnhanced extends Result {
private XXX stockValue;
第 4 页 共 66 页
Tapestry 字典 2006-9-24
protected void initialize() {
stockValue = <default value for type XXX>;
}
public XXX getStockValue() {
return stockValue;
}
public void setStockValue(XXX stockValue) {
this.stockValue = stockValue;
}
}
//使用在 page 文件初始化要在 class 中添加相应的代码,并删除 geter/seter。如
public abstract String getStockId();
//页面也可以定义初始值,添加
<property name="stockId" initial-value="literal:MSFT"/>
3) 使用 java5.0 注释
在 class 中导入 import org.apache.tapestry.annotations.*;类
@InitialValue("literal:MSFT") //初始化 id 为 MSFT
abstract public String getStockId();
1.4. 在 html 页面装配
直接在 form 中加入配置信息
<form jwcid="stockQuoteForm@Form" listener="listener:onOk">
或者使用匿名组建
<form jwcid="@Form" listener="listener:onOk">
//如果不用需要在 page 文件中定义
<component id="stockQuoteForm" type="Form">
<binding name="listener" value="listener:onOk"/>
</component>
<input type="text" jwcid="stockId@TextField" value="ognl:stockId"/>
//如果不用需要在 page 文件中定义
<component id="stockId" type="TextField">
<binding name="value" value="stockId"/>
</component>
1.5. 使用下拉列表框(combo box)
z page 设置方法
<component id="stockId" type="PropertySelection"> //stockId 是在 html 中 jwcid 引用的
<binding name="model" value="availStockIds"/> //通过 class 中的 getavailStockIds 方
法附值
第 5 页 共 66 页
剩余65页未读,继续阅读
hero114
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0