鍍金池/ 教程/ HTML/ JSF應(yīng)用程序入門示例
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應(yīng)用程序入門示例

要?jiǎng)?chuàng)建一個(gè)JSF應(yīng)用程序,我們?cè)谶@里使用NetBeans IDE 8.2。 當(dāng)然您也可以使用其他Java IDE。

在這里先創(chuàng)建一個(gè)項(xiàng)目,之后我們將運(yùn)行測(cè)試它的配置設(shè)置。 所以,讓我們首先來(lái)創(chuàng)建一個(gè)新的項(xiàng)目。

步驟1:創(chuàng)建一個(gè)新項(xiàng)目

打開NetBeans IDE 8.2,轉(zhuǎn)到【文件】菜單并選擇【新建項(xiàng)目】。如下圖所示 -

選擇類別為【Java Web】和項(xiàng)目為【Web應(yīng)用程序】。如下圖所示 -

輸入項(xiàng)目名稱:jsf-helloworld

選擇服務(wù)器和Java EE版本。

選擇JSF框架,如下圖所示 -

選擇首選頁(yè)面語(yǔ)言:JSF框架的早期版本默認(rèn)為JSP表示頁(yè)面。 現(xiàn)在,在最新版本2.0及更高版本中,JSF包含了強(qiáng)大的“Facelets”工具。 所以,這里我們選擇了Facelets語(yǔ)言作為頁(yè)面。 我們將在下一章中詳細(xì)討論Facelets

運(yùn)行:現(xiàn)在,您可以在右鍵單擊項(xiàng)目后選擇運(yùn)行選項(xiàng)來(lái)運(yùn)行應(yīng)用程序。 它會(huì)產(chǎn)生一個(gè)默認(rèn)消息“Hello from Facelets”。如下圖所示 -

我們已經(jīng)成功創(chuàng)建了JSF項(xiàng)目。 該項(xiàng)目包括以下文件:

  • index.xhtml:在F:\worksp\jsf\jsf-helloworld\web目錄下。
  • web.xml:在F:\worksp\jsf\jsf-helloworld\web\WEB-INF目錄下。

每運(yùn)行該項(xiàng)目時(shí),它會(huì)將index.xhtml作為輸出。 現(xiàn)在,我們創(chuàng)建一個(gè)包含兩個(gè)網(wǎng)頁(yè),一個(gè)bean類和一個(gè)配置文件的應(yīng)用程序。

為了開發(fā)新的應(yīng)用程序,它需要以下步驟:

  1. 創(chuàng)建用戶界面
  2. 創(chuàng)建托管bean
  3. 配置和管理FacesServlet

1)創(chuàng)建用戶界面

我們將使用默認(rèn)頁(yè)面index.xhtml來(lái)呈現(xiàn)網(wǎng)頁(yè)。 修改index.xhtml源代碼,如下所示。

<?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>User Form</title>  
    </h:head>  
    <h:body>  
        <h:form>  
            <h:outputLabel for="username">User Name</h:outputLabel>  
            <h:inputText id="username" value="#{user.name}" required="true" requiredMessage="User Name is required" /><br/>  
            <h:commandButton id="submit-button" value="Submit" action="response.xhtml"/>  
        </h:form>  
    </h:body>  
</html>

創(chuàng)建第二個(gè)JSF網(wǎng)頁(yè),response.xhtml如下所示 -

response.xhtml的源代碼,如下所示

<?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>Welcome Page</title>  
    </h:head>  
    <h:body>  
        <h2>Hello, <h:outputText value="#{user.name}"></h:outputText></h2>  
    </h:body>  
</html>

2)創(chuàng)建托管Bean

它是一個(gè)包含屬性和getter/setter方法的Java類。 JSF使用它作為模型。 所以,您也可以使用它來(lái)編寫業(yè)務(wù)邏輯。

創(chuàng)建Java類后,將以下代碼放入User.java文件中。

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.yiibai;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

@ManagedBean
@RequestScoped
public class User {

    String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

3)配置應(yīng)用程序

要配置應(yīng)用程序,打開項(xiàng)目包含的web.xml文件,設(shè)置FacesServlet實(shí)例。 您還可以設(shè)置應(yīng)用程序歡迎頁(yè)面和其他。

以下是此應(yīng)用程序的web.xml代碼的代碼 -

<?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.webapFacelet Titlep.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>

現(xiàn)在,可以運(yùn)行應(yīng)用程序來(lái)看看結(jié)果(這是應(yīng)用程序的索引(默認(rèn)index.xhtml)頁(yè)。) -

填寫一個(gè)有效的值 -

完!


上一篇:JSF列表框下一篇:JSF托管Bean