Tapestry4学习笔记:快速参考与实践指南

"Tapestry字典是一份针对Tapestry 4框架的学习指南,由作者hero在学习过程中整理而成,旨在帮助初学者更方便地理解和使用Tapestry。该文档并未涵盖国际化、下载、数据库操作、Hibernate整合以及Struts相关内容。文档在Java SE 1.5.0_07、Tapestry 4.1和Jetty 5.1.6环境下被验证可运行。"
Tapestry字典主要分为以下几个部分:
1. **基础知识(Using Forms)**:
- **page文件和class文件联系**:Tapestry将HTML页面与Java类关联,通过组件实现业务逻辑和视图的分离。
- **页面跳转**:Tapestry支持基于事件的页面导航,可以通过组件事件或链接实现页面间的跳转。
- **初始化**:在页面初始化时,可以设置页面的状态和执行必要的初始化操作。
- **在html页面装配**:HTML页面中,通过Tapestry的组件标签来装配页面元素,如表格、文本框等。
- **使用下拉列表框(combobox)**:提供用户从预定义选项中选择的能力。
- **使用日历工具(DatePicker)**:集成日期选择功能,便于用户输入日期。
2. **输入校验(Validating Inputs)**:
- **初始程序(map的使用)**:通过映射关系进行数据验证。
- **变量自动转换/校验变量类型**:Tapestry自动处理输入数据的类型转换和验证。
- **消息显示**:显示错误或提示信息,提供用户体验。
- **弹出框校验**:利用JavaScript弹出框进行客户端验证。
- **使用FieldLabel标签**:关联组件和其对应的标签,用于显示错误信息。
- **自定义校验规则**:允许开发者定义自己的验证规则。
- **显示多行错误信息**:集中展示多个验证错误。
- **页面加入js代码**:在页面中添加JavaScript以增强交互性。
- **自定义错误显示**:定制错误信息的呈现方式。
- **使用date和textarea并加校验**:对日期和多行文本输入进行验证。
3. **e商店(Creating an e-Shop)**:
- **EShop练习基础程序**:构建一个简单的在线商店实例。
- **显示详细资料-使用DirectLink组建**:直接链接到特定商品详情。
- **显示详细资料2-在另一页显示信息**:通过新的页面展示商品详情。
- **使用不同包中的类**:如何跨包引用和使用类。
- **区别按钮点击方法**:处理不同按钮点击事件的方式。
- **使用Session**:利用session存储用户状态信息。
- **登录/登出PageLink组建/@InjectStateFlag注释**:通过PageLink处理用户登录和登出,以及状态标志注入。
- **先选择商品在登录**:确保用户登录后才能查看商品。
- **阻挡恶意用户**:通过PageValidateListener接口防止未授权访问。
- **任何也登录都可以回到发起页面**:使用IPage参数,确保用户返回之前的页面。
这份Tapestry字典是学习Tapestry 4的重要参考资料,它覆盖了从基本组件使用到复杂业务场景的实现,对于想要深入理解Tapestry的开发者来说,是一份宝贵的实践总结。
相关推荐










lkl2008
- 粉丝: 0
最新资源
- SSM框架实现的员工管理系统功能与开发建议
- STM32MP157 DMA驱动开发与HAL库集成教程
- Max7与openFrameworks实现FFT及OSC示例解析
- Java利用FreeMarker模板实现多表格Word文档自动化生成
- Linux环境下基于Socket的百人聊天室实现
- Swift版自定义上下拉刷新控件的实现与应用
- 快速获取Notepad++安装包的可靠途径
- 自定义星级评分功能的jQuery插件介绍
- Omni Convert插件:实现快速搜索引擎切换的搜索设置
- CL-JSYNC:Lisp语言的JSYNC序列化库
- Python编程实现GIF图片文字添加与编辑
- 基于Node.js和Socket.io的IRC-Webclient实现
- Cocos2d-x 3.0教程:解决小游戏开发中的电脑卡死问题
- Java开发的餐厅点餐系统实现餐单增删功能
- 提升网站SEO效果:一键 Organic Traffic One Click-crx插件
- 打造个性化弹出视图:自定义iOS AlertView教程