JSF有两组标准的标签,即core标签(共有18个,平均
每个标签有2.8个属性)和html标签(25个,平均每个标签有26.2个属性)。core
标签的具体的作用还没看到例子,不过从“The core library is the poor
stepchild of the HTML library—the former exists entirely to support
the latter.”这句话可以看到,它不如html标签那么重要。
那么来看看html标签,html标签大致可分为:Inputs,Outputs,Commands,
Selection,Others。看上去和struts的html标签也差不多。
标签 说明
view 创建顶层视图
subview 创建视图的子视图
facet 向组件添加facet
param 向组件添加参数
attribute 向组件添加属性
actionListener 在父组件上注册操作监听器
valueChangeListener 向父组件注册值变更监听器
converter 注册任意转换器
convertDateTime 注册日期时间转换器
convertNumber 注册数量转换器
validateLength 验证组件值的长度
validateDoubleRange 验证组件值的双精度范围
validateLongRange 验证组件值的长整型范围
validator 向组件添加验证器
loadBundle 加载资源包
verbatim 向页面中添加标签
selectItem 指定UISelectOne或UISelectMany组件的一个项目
selectItems 指定UISelectOne或UISelectMany组件的多个项目
组件 标签 说明
UIForm form 表示HTML表单元素
UIInput InputText 单行文本输入控件
inputTextarea 多行文本输入控件
InputSecret 密码输入控件
inputHidden 隐藏字段
UIOutput outputLabel 显示文本
outputLink 链接到另一页面或某页面上的特定位置
outputFormat 显示格式化的信息
outputText 当行文本输入
UICommand commandButton 表示一个按钮
commandLink 表示一个链接
UISelectOne SelectOneListbox 单选列表框
selectOneMenu 单选菜单
selectOneRadio 单选按钮集
UISelectBoolean selectBooleanCheckbox 单个复选框
UISelectMany selectManyListbox 复选框集
selectManyCheckbox 多行选择列表框
selectManyMenu 多选菜单
UIPanel panelGrid 表示一个HTML表格
panelGroup 组合一系列组件
UIMessage message 显示一个组件的最近使用的消息
messages 显示所有消息
UIGraphic graphicImage 显示一个图像
UIData dataTable 功能丰富的表格控件
UIColumn column 表示表格中的列
这些标签都有一些公共的属性,这些属性可以分为3类:
1)基本属性:其中id和binding属性用以指明一个component,前者通常用在页面
中,而后者用在java代码中。value和converter属性表明了component的值和值转
换方式。validator,required,valueChangeListener这些属性为input
component指明验证方法和行为。rendered 和styleClass表明如何显示这个
component。
2)HTML 4.0属性:这些属性帮助生成html代码,比如size属性等等。
3)DHTML动作属性:比如onclick()之类的。