鍍金池/ 教程/ HTML/ JSF Facelets視圖
JSF數(shù)據(jù)表(h:dataTable)添加刪除
JSF <h:commandLink>標(biāo)簽
JSF應(yīng)用程序入門示例
JSF數(shù)據(jù)表(ui:repeat)創(chuàng)建表
JSF列表框
JSF數(shù)據(jù)表(h:dataTable)DataModel排序數(shù)據(jù)
JSF復(fù)合組件
JSF <h:inputText>標(biāo)簽
JSF表單組合框
JSF <h:messages>標(biāo)簽
JSF <h:message>標(biāo)簽
JSF轉(zhuǎn)換日期時(shí)間
JSF JDBC連接
JSF <h:inputHidden>標(biāo)簽
JSF多選列表框
JSF <h:inputSecret>標(biāo)簽
JSF自定義轉(zhuǎn)換器
JSF <f:ajax>標(biāo)簽
JSF生命周期
JSF可重定位資源
JSFJSF用戶界面組件模型
JSF <h:attribute>標(biāo)簽
JSF驗(yàn)證器標(biāo)簽
JSF驗(yàn)證字符串長(zhǎng)度
JSF轉(zhuǎn)換器標(biāo)簽
JSF托管bean(Managed Bean)
JSF值變化的事件
JSF UI組件示例
JSF MySQL CURD實(shí)例
JSF數(shù)據(jù)表(h:dataTable)排序數(shù)據(jù)
JSF <h:graphicImage>標(biāo)簽
JSF <f:convertNumber>標(biāo)簽
JSF教程
JSF托管Bean
JSF輸出腳本
JSF <h:outputText>標(biāo)簽
JSF操作事件
JSF驗(yàn)證正則表達(dá)式
JSF數(shù)據(jù)表(h:dataTable)行號(hào)
JSF <h:setPropertyActionListener>標(biāo)簽
JSF注入托管bean實(shí)例
JSF <h:commandButton>標(biāo)簽
JSF Web資源
JSF <h:inputFile>標(biāo)簽
JSF驗(yàn)證浮點(diǎn)數(shù)值范圍
JSF Facelets視圖
JSF是什么?
JSF Facelets模板
JSF的特性(特點(diǎn))
JSF自定義驗(yàn)證器類
JSF單選按鈕
JSF輸出樣式
JSF數(shù)據(jù)表(h:dataTable)更新數(shù)據(jù)
JSF HTML5友好標(biāo)記
JSF表單復(fù)選框(CheckBox)示例
JSF <h:form>標(biāo)簽
JSF Facelets技術(shù)介紹
JSF輸出格式化
JSF <h:inputtextarea>標(biāo)簽
JSF驗(yàn)證整數(shù)范圍
JSF <h:panelGrid>標(biāo)簽

JSF Facelets視圖

Facelets視圖是XHTML頁面。 您可以通過向頁面添加組件來創(chuàng)建網(wǎng)頁或視圖,將組件連接到后端bean的值和屬性,并在組件上注冊(cè)轉(zhuǎn)換器,驗(yàn)證器或偵聽器。

XHTML網(wǎng)頁作為前端。 您的應(yīng)用程序的第一頁默認(rèn)為index.xhtml。

網(wǎng)頁(如,在index.xhtml中)的第一部分聲明頁面的內(nèi)容類型,即XHTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
``

在下一段中指定`XHTML`頁面的語言,然后聲明網(wǎng)頁中使用的標(biāo)簽庫的XML命名空間。

```html
<html lang="en"  
xmlns="http://www.w3.org/1999/xhtml"  
xmlns:h="http://xmlns.jcp.org/jsf/html"  
xmlns:f="http://xmlns.jcp.org/jsf/core">

一個(gè)完整的文件:index.xhtml 代碼內(nèi)容如下所示 -

<?xml version='1.0' encoding='UTF-8' ?>  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml"  
xmlns:h="http://xmlns.jcp.org/jsf/html"  
xmlns:f="http://xmlns.jcp.org/jsf/core">  
<h:head>  
    <title>Jsf Form</title>  
</h:head>  
    <h:body>  
        <h:form id="form">  
        <h:outputLabel for="username">User Name</h:outputLabel>  
        <h:inputText id="name" value="#{user.name}" required="true">  
        <f:validateRequired for="name" />  
        </h:inputText><br/>  
        <h:commandButton value="OK" action="response.xhtml"></h:commandButton>  
        </h:form>  
    </h:body>  
</html>

Facelets HTML標(biāo)簽以h:開頭,用于在網(wǎng)頁和核心標(biāo)簽上添加組件f:validateRequired用于驗(yàn)證用戶輸入。

h:inputText標(biāo)簽接受用戶輸入,并通過EL表達(dá)式#{user.name}設(shè)置托管bean屬性名稱的值。

運(yùn)行index.xhtml文件后,JSF將呈現(xiàn)一個(gè)HTML索引頁面。輸出如下所示 -

這是創(chuàng)建Facelets視圖的過程。現(xiàn)在,您可以創(chuàng)建第二個(gè)xhtml頁面:response.xhtml 其中的代碼內(nèi)容如下 -

<?xml version='1.0' encoding='UTF-8' ?>  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml"  
xmlns:h="http://xmlns.jcp.org/jsf/html">  
<h:head>  
<title>Response Page</title>  
</h:head>  
<h:body>  
<h1>  
Hello #{user.name}  
</h1>  
</h:body>  
</html>

運(yùn)行 index.xhtml 文件后,將顯示以下輸出。

在輸入框中寫入一個(gè)名字,提交得到如下結(jié)果 -

映射Faces Servlet

通過將Web部署描述符文件中的Faces Servlet映射到web.xml文件中來完成JavaServer Faces應(yīng)用程序的配置。

在NetBeans IDE中,會(huì)自動(dòng)為您創(chuàng)建一個(gè)Web部署描述符文件。下面給出了一個(gè)自動(dòng)生成的web.xml文件的內(nèi)容。

<?xml version="1.0" encoding="UTF-8"?>  
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">  
<context-param>  
<param-name>javax.faces.PROJECT_STAGE</param-name>  
<param-value>Development</param-value>  
</context-param>  
<servlet>  
<servlet-name>Faces Servlet</servlet-name>  
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>  
<load-on-startup>1</load-on-startup>  
</servlet>  
<servlet-mapping>  
<servlet-name>Faces Servlet</servlet-name>  
<url-pattern>/faces/*</url-pattern>  
</servlet-mapping>  
<session-config>  
<session-timeout>  
30  
</session-timeout>  
</session-config>  
<welcome-file-list>  
<welcome-file>faces/index.xhtml</welcome-file>  
</welcome-file-list>  
</web-app>