Posted on 2007-04-27 14:23
itVincent 阅读(3143)
评论(1) 编辑 收藏 所属分类:
JSF
JSF html标签
Jsf提供了一套标准的html标签。可以让您搭配JSF组件输出HTML文件,标准的HTML Renderer Kit主要包括了几个类别:
- 输出(Outputs) 其名称以output作为开头,作用为输出指定的信息或绑定值。
- 输入(Inputs) 其名称以input作为开头,其作用为提供使用者输入字段。
- 命令(Commands) 其名称以command作为开头,其作用为提供命令或链接按钮。
- 选择(Selections) 其名称以select作为开头,其作用为提供用户选项的选取。
- 表格 (Table) 与dataTable相关,用于生成表格
- 其它 包括了form、message、messages、graphicImage等等未分类的标签。
属性名称
|
适用
|
说明
|
id
|
所有组件
|
可指定id名称,以让其它标签或组件参考
|
binding
|
所有组件
|
绑定至UIComponent
|
rendered
|
所有组件
|
是否显示组件
|
styleClass
|
所有组件
|
设定Cascading stylesheet (CSS)
|
value
|
输入、输出、命令组件
|
设定值或绑定至指定的值
|
valueChangeListener
|
输入组件
|
设定值变事件处理者
|
converter
|
输入、输出组件
|
设定转换器
|
validator
|
输入组件
|
设定验证器
|
required
|
输入组件
|
是否验证必填字段
|
immediate
|
输入、命令组件
|
是否为立即事件
|
输出类的标签包括了outputLabel、outputLink、outputFormat与 outputText
分别举例说明如下:
产生<label> HTML标签,使用for属性指定组件的client ID,例如:
<h:inputText id="user" value="#{user.name}"/>
<h:outputLabel for="user" value="#{user.name}"/>
这会产生像是以下的html:
<input id="user" type="text" name="user" value="guest" />
<label for="user">
产生<a> HTML标签,例如:
<h:outputLink value="../index.jsp"/>
value所指定的内容也可以是JSF EL绑定。
产生指定的文字信息,可以搭配<f:param>来设定信息的参数以格式化文本信息,例如:
<f:loadBundle basename="messages" var="msgs"/>
<h:outputFormat value="#{msgs.welcomeText}">
<f:param value="Hello"/>
<f:param value="Guest"/>
</h:outputFormat>
如果您的messages.properties包括以下的内容:
welcomeText={0}, Your name is {1}.
则{0}与{1}会被取代为<f:param>设定的文字,最后显示的文字会是:
Hello, Your name is Guest.
另一个使用的方法则是:
<h:outputFormat value="{0}, Your name is {1}.">
<f:param value="Hello"/>
<f:param value="Guest"/>
</h:outputFormat>
简单的显示指定的值或绑定的信息,例如:
<h:outputText value="#{user.name}"/>
输入类标签包括了inputText、inputTextarea、inputSecret、 inputHidden
分别举例说明如下:
显示单行输入字段,即输出<input> HTML标签,其type属性设定为text,例如:
<h:inputText value="#{user.name}"/>
显示多行输入文字区域,即输出<textarea> HTML标签,例如:
<h:inputTextarea value="#{user.command}"/>
显示密码输入字段,即输出<input> HTML标签,其type属性设定为password,例如:
<h:inputSecret value="#{user.password}"/>
您可以设定redisplay属性以决定是否要显示密码字段的值,默认是false。
隐藏域,即输出<input> HTML标签,其type属性设定为hidden,隐藏域的值用于保留一些信息于客户端,以在下一次发送窗体时一并送出,例如:
<h:inputHidden value="#{user.hiddenInfo}"/>