Tapestry各组件使用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Tapestry各组件的使用
说明:只是说明一些需要注意的东西,更多的学习参考Tapestry官方文档
1、For
source:是对应的java类里的List 对象或者是个数组需要抽象或者提供set get方法value:是循环这个source对象代表当前的一个,需要在page文件中设置问一个属性,可以不在对应的java类里有这个属性
index:是循环的索引值同value一样在page文件中设置一个属性即可 nam e="index"/> 在循环的时候会自动为vlaue和index赋当前的值 2、Foreach 和For一样使用 3、Hidden组件总是多余S的处理 4、Insert 组件 e.g. 页面表现时,将会到页面类中寻找getUser().getName()方法获取初值并输出 相当于在页面上显示数据. 5、TextField 组件 e.g. 页面表现时,将会到页面类中寻找getUsername()方法获取初值 *如果是修改信息页面,通常初始值要在页面表现之前由setUsername()手动设置从数据库中读取出来的值 表单提交时,通过setUsername()写入新值(即用户输入值),在类中通过getUsername()获取新值 相当于在修改个人信息时,首先读出用户名赋予文本框(用户名)初值,用户修改时填入新值,后台获取之 *Hidden属性区分是普通文本输入框(默认false)和密码输入框(hidden="ognl:true") readonly属性设置只读readonly="t rue"为只读(后台可读取) *disabled属性设置是否可写diabled="true"为不可写(后台也不可读取) 6、TextArea 组件 e.g. 页面表现时,将会到页面类中寻找getContent()方法获取初值 工作原理同TextField 7、RadioGroup/Radio 组件 e.g. 头像1 头像2 头像3 头像4 头像5 头像6 RadioGroup为每一个Radio提供一个唯一的ID。RadioGroup跟踪当前被选中的属性值,并且只有一个Radio能够被选中. 页面提交时,RadioGroup组件就利用OGNL表达式向headImage字段写入被选中的Radio组件的value参数值. 页面表现时(修改页面),将会到页面类中寻找get HeadImage()方法获取初值,然后寻找 @Radio组件中与其相同的组件并勾选上. 8、PropertySelection 组件 使用PropertySelection组件必须要构造一个类来实现IPropertySelectionModel接口,并且重写该接口的5个方法. public int getOptionCount() //提供下拉菜单的长度 public Object getOption(int index) //提供select标签的option public String getLabel(int index) //提供select标签的Label值,也就是下拉菜单显示的内容 public String getValue(int index) //提供select标签的value值 public Object translateValue(String value) //selected后的返回值,value值未必就是我们需要的返回值,可以在这个方法里面对返回的value做对应的转换或修改. e.g.1. 性别下拉框 代码 GenderSelectionModel.java public class GenderSelectionModel implem ents IPropertySelectionModel { public static final String male = "先生"; public static final String fem ale = "女士"; public static final String[] genderOptions = { m ale, fem ale }; public int getOptionCount() { return genderOptions.length;