久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Matrix - 與 Java 共舞 - 使用JSF(Java Server Faces)開發(fā)(一)

 feifan 2005-12-01

使用JSF(Java Server Faces)開發(fā)(一)

chris 發(fā)表于2003-10-16 作者:fpwang 評價:0/0 評論數(shù):0 點(diǎn)擊數(shù):3876 [收藏]
摘要:



本文Matrix永久鏡像:http://www./resource/article/0/557.html
說明:本文可能由Matrix原創(chuàng),,也可能由Matrix的會員整理,,或者由
Matrix的Crawler在全球知名Java或者其他技術(shù)相關(guān)站點(diǎn)抓取并永久
保留鏡像,Matrix會保留所有原來的出處URL,并在顯著地方作出說明,,
如果你發(fā)覺出處URL有誤,,請聯(lián)系Matrix改正.
    Java Server Faces(JSF)技術(shù)為開發(fā)基于網(wǎng)絡(luò)用戶界面的Java開發(fā)者提供了標(biāo)準(zhǔn)的編程接口API以及標(biāo)記庫。Apache Struts框架的作者Craig McClanahan,,協(xié)助領(lǐng)導(dǎo)了Sun公司的JSF項(xiàng)目,。這使項(xiàng)目能夠容易的從流行的Apache向JSF標(biāo)準(zhǔn)移植得到了保證。就像Struts框架一樣,,JSF定義了一套JSP標(biāo)記,,能夠生成與JavaBean屬性綁定在一起的HTML表單元素。從應(yīng)用開發(fā)者的角度看,,兩種框架是很相似的,,但是JSF可能將會得到更多的支持。因?yàn)镴SF是Java的標(biāo)準(zhǔn),。在未來的發(fā)展中,,有可能所有的J2EE應(yīng)用服務(wù)器都需要支持JSF(Java Server Faces)。

    Sun公司在已經(jīng)發(fā)布的免費(fèi)下載開發(fā)包Java Web Services Developer Pack 1.2 (http://java./webservices/downloads/webservicespack.html)中,,包括了JSF詳細(xì)說明(JSF Specification Version 1.0, Public Review Draft 2)的參考實(shí)現(xiàn)(Early Access 4 — EA4),。EA4版本實(shí)現(xiàn)了許多新特性:動作、beans管理和導(dǎo)航規(guī)則,。本文將集中介紹這些新特性以及展示如何從JSF的開發(fā)中得到好處以便建立表單,,確認(rèn)用戶輸入以及將用戶界面組件與JavaBean屬性綁定起來。


   本文包含一個由四個主要部分組成的網(wǎng)絡(luò)應(yīng)用:

     1.         JavaBean類(PBean.java),,作為數(shù)據(jù)模型保存一些文本以及相關(guān)屬性:字體,、大小、 顏色,、擺放位置等,;

     2.         基于JSF的表單(edit.jsp),使用戶可以為JavaBean的屬性賦值,;

     3.         Java類(PBuilder.java),,用給定的文本按照其屬性值生成HTML頁面程序;

     4.         JSP頁面(view.jsp),,顯示生成的HTML頁面,。



  注:

   源代碼下載地址:http://www./onjava/2003/09/03/examples/usingjsf-src.zip

   相關(guān)文檔

   原文:Introducing JavaServer Faces(http://www./pub/a/onjava/2003/07/30/jsf_intro.html)

   譯文:http://www./forum_view.asp?forum_id=14&view_id=658

   JavaServer Faces(或者叫JSF)是服務(wù)端程序開發(fā)新的發(fā)展趨勢。它可以使你更輕松的的設(shè)計程序,,你的程序也能夠更容易維護(hù),,甚至可能還會使你的工作更有趣。Budi Kurniawan向我們展示了JSF技術(shù),,解釋了為什么JSF如此有用以及它是否實(shí)現(xiàn)了所承諾的功能,。
  
image
圖1:基于JSF的表單



  制作JSF表單

  當(dāng)你開發(fā)網(wǎng)絡(luò)應(yīng)用時,,處理HTML表單是最常見的一項(xiàng)任務(wù)。一個好的框架能夠節(jié)省很多開發(fā)時間,,因?yàn)樵S多日常的程序操作可以自動的完成或是減少到最低限度只需要在XML文件中用幾行完成,。這也有可能簡化使用JSP標(biāo)記庫的網(wǎng)絡(luò)開發(fā)。Java Server Faces框架提供了JSP標(biāo)記,,用于描述表單,、管理表單狀態(tài)、確認(rèn)用戶輸入以及報錯,、將用戶界面組件與JavaBean屬性綁定在一起以及其他許多可提高開發(fā)效率的功能,。JSF也有豐富的編程接口可用于建立定制的用戶界面(UI)組件,定制驗(yàn)證類(驗(yàn)證器validator)以及服務(wù)端的事件監(jiān)聽器,。



  JSF包含兩類標(biāo)記庫分別叫JSF核心庫與HTML基礎(chǔ)庫,。前者提供普通的標(biāo)記和一些用于在用戶界面組件中注冊驗(yàn)證器以及事件監(jiān)聽器的標(biāo)記。后者包含用于描述用戶界面組件的JSP標(biāo)記,,如:按鈕,、文本域、復(fù)選按鈕,、列表等,。文件edit.jsp用這些標(biāo)記建立了表單。兩種標(biāo)記庫的標(biāo)準(zhǔn)前綴是f和h,,并且定義在edit.jsp文件的最前面:



 
<%@ taglib prefix="f" uri="http://java./jsf/core" %>
<%@ taglib prefix="h" uri="http://java./jsf/html" %>




   <f:use_faces>標(biāo)記是容器標(biāo)記,,必須包含所有在同一頁面中出現(xiàn)的JSF標(biāo)記。該標(biāo)記不會產(chǎn)生任何HTML內(nèi)容,,但是它會觸發(fā)JSF的內(nèi)部機(jī)制,。<h:form>標(biāo)記產(chǎn)生能夠包含用戶界面元素的HTML元素<form>。



<html>
<head>
<title>Edit</title>
</head>
<body>

<f:use_faces>
    <h:form formName="pform">
    ..........
    </h:form>
</f:use_faces>

</body>
</html>


  上面的JSP代碼生成下面的HTML片斷:



<html>
<head>
<title>Edit</title>
</head>
<body>
    <form method="post" action="/usingjsf/faces/edit.jsp">
    ..........
    </form>
</body>
</html>


  下一部分介紹應(yīng)用的JavaBean模型,。



管理Bean

   像其他一些Web框架一樣,,JSF將用戶界面從封裝數(shù)據(jù)以及應(yīng)用邏輯的對象模型中分離出來。當(dāng)HTML用戶界面由JSF標(biāo)記產(chǎn)生時,,JSF框架從JavaBean模型獲得數(shù)據(jù)并設(shè)置HTML表單用戶界面組件的屬性狀態(tài),。用戶提交表單時,JSF驗(yàn)證用戶輸入,,如果全部正常JSF就將用戶輸入保存到JavaBean模型并且HTTP請求會根據(jù)“導(dǎo)航規(guī)則”進(jìn)入下一頁面。如果驗(yàn)證出現(xiàn)錯誤,,JSF回到表單并返回錯誤信息,,這樣用戶就可以糾正錯誤輸入。



   類Pbean遵循JavaBean規(guī)范,,實(shí)現(xiàn)了java.io.Serializable并為其屬性(文本,、大小,、字體、顏色,、擺放位置,、粗體、斜體,、下劃線)提供了相應(yīng)的get及set方法,。JSF每一個應(yīng)用的用戶都創(chuàng)建了一個PBean的實(shí)例,該實(shí)例存儲在JSP的會話(session)中并在名為faces-config.xml的XML格式配置文件中指定ID,。JSF也會根據(jù)faces-config.xml文件提供的數(shù)據(jù)初始化JavaBean實(shí)例的屬性值,。該XML文件還可能包含其他JSF配置參數(shù),如:導(dǎo)航規(guī)則,,我們將在后面的章節(jié)介紹,。



   下面的XML程序片斷包含由JSF所管理的JavaBean的聲明:



<?xml version="1.0"?>

<!DOCTYPE faces-config PUBLIC
    "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
    "http://java./dtd/web-facesconfig_1_0.dtd">

<faces-config>
    ..........
    <managed-bean>
        <managed-bean-name>pbean</managed-bean-name>
        <managed-bean-class>
            com.devsphere.articles.usingjsf.PBean
        </managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
        <managed-property>
            <property-name>text</property-name>
            <null-value/>
        </managed-property>
        <managed-property>
            <property-name>size</property-name>
            <value>3</value>
        </managed-property>
        <managed-property>
            <property-name>font</property-name>
            <values>
                <value>Arial</value>
                <value>Courier New</value>
            </values>
        </managed-property>
        <managed-property>
            <property-name>color</property-name>
            <value>green</value>
        </managed-property>
        <managed-property>
            <property-name>align</property-name>
            <value>left</value>
        </managed-property>
        <managed-property>
            <property-name>bold</property-name>
            <value>false</value>
        </managed-property>
        <managed-property>
            <property-name>italic</property-name>
            <value>true</value>
        </managed-property>
        <managed-property>
            <property-name>underline</property-name>
            <value>false</value>
        </managed-property>
    </managed-bean>
</faces-config>



   由JSF創(chuàng)建的管理bean能夠根據(jù)<managed-bean-scope>元素的值而存儲在請求(request)、會話(session)或應(yīng)用的范圍內(nèi),。<managed-bean-scope>元素的值可為空值,。如果一個對象已經(jīng)指定了ID并注冊在給定的范圍內(nèi)那么JSF不會建立JavaBean實(shí)例。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多