rss· 投稿· 设为首页· 加入收藏· 繁體版

JSF标签

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()之类的。

1.    Facelets:它主要是解决Jsf模板问题的,使用它你会少写很多重复代码.他的写法有些Java继承的感觉.不过它在buildWorkspace时真是超级的吃速度!

引用:xmlns:ui=http://java.sun.com/jsf/facelets

<ui:composition template="路径">表示当前页是继承该”路径”页的.

<ui:insert name="name1"></ui:insert>表示此处可替换,中间为默认内容.

<ui:define name="name1">该部分替换父页对应的insert部分.注意Facelets只提供替换.没有java中super的用法!!

<ui:param/>表示该页后台Bean(或其属性)在该页面的定义名称.他关键是可以定义Bean的名称.他与ui:insert结合可以使页面与后台Bean的继承关系相一致(达到一页一Bean).

<ui:include/>跟Jsp的include一样,他嵌套<ui:param>实现传参.

2. Html:他是Jsf中的Html的代码.

引用:xmlns:h=http://java.sun.com/jsf/html

<h:outputText/>输出<h:inputText/>输入<h:inputHidden/>隐藏(Jsf的Request范围想保存住属性全靠它!!!)

<h:commandLink>:他是跳转,整页的提交并且根据return值跳到指定页面<h:commandButton>:同上!!值得注意的是他们都不是局部提交!!

3.    Richface:对Jsf支持的一套标签组.很好用!!

引用: xmlns:rich=http://richfaces.org/rich

官网: http://livedemo.exadel.com/richfaces-demo/richfaces/actionparam.jsf

4.    A4j:可看作Richface对ajax的轻度封装!!

引用Xmlns:a4j=https://ajax4jsf.dev.java.net/ajax

<a4j:support>:为被嵌套者提供事件支持!!.

它的event常用的为oncomplete和onclick.   onclick在生命周期里比comple早

<a4j:region>:与form和command标签使用-----限定提交范围.

<a4j:commandButton>/<a4j:commandLink>:与h的相反,是局部提交!

<a4j:actionparam>在command中嵌套主要作用是assignTo将value的值赋予指定对象的指定属性.

顶一下
(1)
踩一下
(0)