Tapestry各组件使用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;

相关文档
最新文档