JSF(Java Server Faces)是一種用于構建Web應用程序的新標準Java框架。提供了一種以組件為中心來開發(fā)Java Web的用戶界面的方法,從而簡化了開發(fā)。
JSF是Java Web應用的用戶界面框架,其設計目標是簡化Web應用的開發(fā)和維護。當然,JSF最直接的服務對象還是基于HTTP協(xié)議和HTML客戶端的Java Web應用。JSF是在Java Web中開發(fā)Web UI的框架,像大部分Java Web框架一樣,JSF遵循業(yè)務邏輯和顯示的分離。
一個JSF應用就是一個JSP和Servlet應用。它有一個配置描述符,有JSP頁面、客戶定制標簽和靜態(tài)資源。不同的是,JSF應用是事件驅動的。用戶可以通過寫一個偵聽事件類決定應用程序的行為。JSF應用和Java Web應用一樣,它們在Java Servlet容器中運行。通常情況下他們包含:
1:JavaBean組件(它們在JSF中被稱為Model對象)。
2:事件監(jiān)聽器。
3:頁面(JSP)。
4:服務器端幫助類,如數據庫訪問Bean。
實例:MyEclipse開發(fā)JSF:
1:創(chuàng)建Java Web項目名稱為JSFTest。
2:右擊項目MyEclipse----Add JSF Capabilites...----出現如下圖:
finish后打開faces-config.xml,在大綱視圖出現如下圖:
右擊Managed Beans如下圖:
如下圖:
如下填寫:
為Bean添加屬性,右擊:
如下配置:
再來一個屬性:
此時的UserBean如下:
添加方法hello如下:
public java.lang.String hello(){
if(this.getName().equals("")){
return "fail";
}
else{
this.setWelcome("歡迎,"+this.getName());
return "login";
}
}
點擊J圖形工具如下圖:
然后再配置文件里面單擊出現如下圖:
配置第一個JSP文件index.jsp
將本來的代碼刪除然后填上如下代碼:
<%@taglib uri="<%@taglib uri="<%@page contentType="text/html;charset=utf-8"%>
<html>
<head>
<title>第一個JSF程序</title>
</head>
<body>
<f:view>
<h:form>
請輸入姓名:<h:inputText value="#{user.name}"/><p>
<h:commandButton value="提交" action="#{user.hello}"/>
</h:form>
</f:view>
</body>
</html>
如下圖:
在重復上面的步驟來一個welcome.jsp填上如下代碼:
<%@taglib uri="<%@taglib uri="<%@page contentType="text/html;charset=utf-8"%>
<html>
<head>
<title>第一個JSF程序</title>
</head>
<body>
<f:view>
<h:outputText value="#{user.welcome}"/>
</f:view>
</body>
</html>
兩個JSP如下圖:
單擊如下圖工具:
先點擊index.jsp再點擊welcome.jsp出現如下,配置login:
點擊兩下index.jsp出現如下圖配置fail:
得到的配置圖形:
在瀏覽器里面輸入: http://localhost:8080/JSFTest/index.faces
輸入我的名字如下:
單擊“提交”得到結果:
結束語:JSF的卻好用,簡單,清晰明了??梢酝耆鍶SP和Servlet。