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}"/>
顯示多行輸入文字區(qū)域,即輸出<textarea> HTML標簽,例如:
<h:inputTextarea value="#{user.command}"/>
顯示密碼輸入字段,即輸出<input> HTML標簽,其type屬性設定為password,例如:
<h:inputSecret value="#{user.password}"/>
您可以設定redisplay屬性以決定是否要顯示密碼字段的值,默認是false。
隱藏域,即輸出<input> HTML標簽,其type屬性設定為hidden,隱藏域的值用于保留一些信息于客戶端,以在下一次發(fā)送窗體時一并送出,例如:
<h:inputHidden value="#{user.hiddenInfo}"/>
zhuan: http://www.tkk7.com/itvincent/archive/2008/01/22/114074.html