<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    VIRGIN FOREST OF JAVA
    不要埋頭苦干,要學(xué)習(xí),學(xué)習(xí),再學(xué)習(xí)。。。。。
    powered by R.Zeus
    轉(zhuǎn)自:http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=2630

    請至 JSF 官方網(wǎng)站的 下載區(qū) 下載參考實(shí)作,在下載壓縮檔並解壓縮之後,將其 lib 目錄下的 jar 檔案複製至您的Web應(yīng)用程式的/WEB-INF/lib目錄下,另外您還需要 jstl.jar 與 standard.jar 檔案,這些檔案您可以在 sample 目錄下,解壓縮當(dāng)中的一個(gè)範(fàn)例,在它的/WEB-INF/lib目錄下找到,將之一併複製至您的Web應(yīng)用程式的/WEB-INF/lib目錄下,您總共需要以下的檔案:
    * jsf-impl.jar
        * jsf-api.jar
        * commons-digester.jar
        * commons-collections.jar
        * commons-beanutils.jar
        * jstl.jar
        * standard.jar

      接下來配置Web應(yīng)用程式的web.xml,使用JSF時(shí),所有的請求都透過FacesServlet來處理,您可以如下定義:


    • web.xml
    web.xml
    <?xml version="1.0" encoding="ISO-8859-1"?>
     <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
        version="2.4">
     
        <description>
            JSF Demo
        </description>
        <display-name>JSF Demo</display-name>
        <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>
       
        <welcome-file-list>
            <welcome-file>index.html</welcome-file>
        </welcome-file-list>
     </web-app>

      在上面的定義中,我們將所有.faces的請求交由FaceServlet來處理,F(xiàn)aceServlet會(huì)喚起相對的.jsp網(wǎng)頁,例如請求是/index.faces的話,則實(shí)際上會(huì)喚起/index.jsp網(wǎng)頁,完成以上的配置,您就可以開始使用JSF了。

    先看看應(yīng)用程式開發(fā)人員要作些什麼事,我們撰寫一個(gè)簡單的JavaBean:

    UserBean.java
    package onlyfun.caterpillar;
    
     public class UserBean {
        private String name;
       
        public void setName(String name) {
            this.name = name;
        }
       
        public String getName() {
            return name;
        }
     }

      這個(gè)Bean將儲(chǔ)存使用者的名稱,編譯好之後放置在/WEB-INF/classes下。

      接下來設(shè)計(jì)頁面流程,我們將先顯示一個(gè)登入網(wǎng)頁/pages/index.jsp,使用者填入名稱並送出表單,之後在/pages/welcome.jsp中顯示Bean中的使用者名稱與歡迎訊息。

      為了讓JSF知道我們所設(shè)計(jì)的Bean以及頁面流程,我們定義一個(gè)/WEB-INF/faces-config.xml:

    faces-config.xml
    <?xml version="1.0"?>
     <!DOCTYPE faces-config PUBLIC
     "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
     "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
    
     <faces-config>
        <navigation-rule>
            <from-view-id>/pages/index.jsp</from-view-id>
            <navigation-case>
                <from-outcome>login</from-outcome>
                <to-view-id>/pages/welcome.jsp</to-view-id>
            </navigation-case>
        </navigation-rule>
           
        <managed-bean>
            <managed-bean-name>user</managed-bean-name>
             <managed-bean-class>
                 onlyfun.caterpillar.UserBean
             </managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
        </managed-bean>
     </faces-config>

      在<navigation-rule>中,我們定義了頁面流程,當(dāng)請求來自<from-view- id>中指定的頁面,並且指定了<navigation-case>中的<from-outcome>為login時(shí),則會(huì)將請求導(dǎo)向至<to-view-id>所指定的頁面。

      在<managed-bean>中我們可以統(tǒng)一管理我們的Bean,我們設(shè)定Bean物件的存活範(fàn)圍是session,也就是使用者開啟瀏覽器與程式互動(dòng)過程中都存活。

      接下來要告訴網(wǎng)頁設(shè)計(jì)人員的資訊是,他們可以使用的Bean名稱,即<managed-bean-name>中設(shè)定的名稱,以及上面所定義的頁面流程。

    網(wǎng)頁設(shè)計(jì)人員

      首先網(wǎng)頁設(shè)計(jì)人員撰寫index.jsp網(wǎng)頁:

    index.jsp
    <%@taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
     <%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
     <%@page contentType="text/html;charset=Big5"%> 
     <html>
     <head>
     <title>第一個(gè)JSF程式</title>
     </head>
     <body>
        <f:view>
            <h:form>
                <h3>請輸入您的名稱</h3>
                名稱: <h:inputText value="#{user.name}"/><p>
                <h:commandButton value="送出" action="login"/>
            </h:form>
        </f:view>
     </body>
     </html>

      我們使用了JSF的core與html標(biāo)籤庫,core是有關(guān)於UI元件的處理,而html則是有關(guān)於HTML的進(jìn)階標(biāo)籤。

      <f:view>與<html>有類似的作用,當(dāng)您要開始使用JSF元件時(shí),這些元件一定要在<f: view>與</f:view>之間,就如同使用HTML時(shí),所有的標(biāo)籤一定要在<html>與< /html>之間。

      html標(biāo)籤庫中幾乎都是與HTML標(biāo)籤相關(guān)的進(jìn)階標(biāo)籤,<h:form>會(huì)產(chǎn)生一個(gè)表單,我們使用<h: inputText>來顯示user這個(gè)Bean物件的name屬性,而<h:commandButton>會(huì)產(chǎn)生一個(gè)提交按鈕,我們在action屬性中指定將根據(jù)之前定義的login頁面流程中前往welcome.jsp頁面。

      網(wǎng)頁設(shè)計(jì)人員不必理會(huì)表單傳送之後要作些什麼,他只要設(shè)計(jì)好歡迎頁面就好了:

    welcome.jsp
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
     <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
     <%@page contentType="text/html;charset=Big5"%> 
     <html>
     <head>
     <title>第一個(gè)JSF程式</title>
     </head>
     <body>
        <f:view>
            <h:outputText value="#{user.name}"/> 您好!
            <h3>歡迎使用 JavaServer Faces!</h3>
        </f:view>
     </body>
     </html>

      這個(gè)頁面沒什麼需要解釋的了,如您所看到的,在網(wǎng)頁上沒有程式邏輯,網(wǎng)頁設(shè)計(jì)人員所作的就是遵照頁面流程,使用相關(guān)名稱取出資料,而不用擔(dān)心實(shí)際上程式是如何運(yùn)作的。

      接下來啟動(dòng)Container,連接上您的應(yīng)用程式網(wǎng)址,例如:http://localhost:8080/jsfDemo/pages/index.faces,填入名稱並送出表單,您的歡迎頁面就會(huì)顯示了。

    posted on 2005-08-22 21:22 R.Zeus 閱讀(748) 評論(1)  編輯  收藏 所屬分類: JSF

    FeedBack:
    # re: JSF 入門
    2006-08-25 16:11 | majin
    sdfgsdfg  回復(fù)  更多評論
      

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲精品无码久久久影院相关影片| 国产一区二区三区免费| 免费观看黄色的网站| 亚洲中文字幕无码爆乳app| 99久久99这里只有免费费精品| 亚洲AV无码久久| 国产日韩AV免费无码一区二区 | 日本媚薬痉挛在线观看免费| 久久久久亚洲AV无码观看| 女人18毛片水最多免费观看| 中文字幕亚洲精品无码| 久久精品亚洲乱码伦伦中文| 国产成人自产拍免费视频| 亚洲欧洲日产v特级毛片| 日韩版码免费福利视频| 一级人做人爰a全过程免费视频| 亚洲精品中文字幕麻豆| 亚洲视频在线免费| 国产性生大片免费观看性| 激情综合色五月丁香六月亚洲| 中文字幕看片在线a免费| 亚洲jjzzjjzz在线播放| 国产亚洲精品自在线观看| 毛片免费在线播放| 美女视频黄视大全视频免费的| 亚洲色偷偷综合亚洲AV伊人| 青娱分类视频精品免费2| 国产乱子伦精品免费视频| 亚洲精品免费网站| 久久夜色精品国产亚洲AV动态图| 国产一级淫片免费播放| 2021久久精品免费观看| 精品在线免费观看| 一本久久A久久免费精品不卡| 亚洲剧场午夜在线观看| 免费h成人黄漫画嘿咻破解版| 1000部无遮挡拍拍拍免费视频观看| 国产成人精品免费大全| 国产亚洲精品仙踪林在线播放| 国产成人精品日本亚洲专区6| 亚洲久本草在线中文字幕|