国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

一個基于JSF技術的簡單示例(部分翻譯)

2024-07-21 02:14:13
字體:
來源:轉載
供稿:網友
    jsf是基于mvc的網絡開發技術,是一種基于事件驅動的開發框架。在開發網絡應用的過程中,我們需要將網絡應用分為一些類,它們代表了事務數據和邏輯(the model,包括乘客、飛機場、飛機、座位等等),用戶界面接口(the view,包括飛機起飛輸入字段區域、機場飛機列表等等),以及將邏輯和用戶界面綁定在一起的代碼(the controller)。
    下面介紹一個最簡單的基于jsf應用的開發,從中可以了解到jsf開發的基本過程。這個應用中包含一個表單,用戶可以在這個表單里輸入email地址,并且可以從一個列表目錄中選擇自己感興趣的時事通訊(我不知道怎么貼圖,剛才試了一下不行,等我知道了再把圖貼上來),最后還有一個確定按鈕。當用戶確認自己在表單中輸入的信息時,email地址和選擇的時事通訊項將被保存到數據庫中,該應用的其它部分將使用這些信息來發送時事通訊到用戶的信箱,在這里我們并不考慮這些。

    網絡應用的開發主要是后臺程序的開發,換句話說,就是控制事務邏輯和數據的類。對于時事通訊預訂表單這個應用而言,我們需要一個subscriber類來保存subscriber信息。

    package com.mycompany.newsservice.models;    public class subscriber {    private string emailaddr;    private string[] subscriptionids;    public string getemailaddr( ) {        return emailaddr;    }    public void setemailaddr(string emailaddr) {        this.emailaddr = emailaddr;    }    public string[] getsubscriptionids( ) {        return subscriptionids;    }    public void setsubscriptionids(string[] subscriptionids) {        this.subscriptionids = subscriptionids;    }    public void save( ) {        stringbuffer subscriptions = new stringbuffer( );        if (subscriptionids != null) {            for (int i = 0; i < subscriptionids.length; i++) {                subscriptions.append(subscriptionids[i]).append(" ");            }        }        system.out.println("subscriber email address: " + emailaddress +            "/nsubscriptions: " + subscriptions);    }}

    當預訂被確定更新的時候,信息需要被保存到數據庫,但在這里,我們并沒有將數據保存到數據庫,而是使用system.out將保存的結果輸出。當用戶確認自己輸入信息的時候,我們需要一個類來監聽save動作,當save動作發生時就調用該方法保存信息。

    import com.mycompany.newsservice.models.subscriber;    public class subscriberhandler {    private subscriber subscriber;    public void setsubscriber(subscriber subscriber) {        this.subscriber = subscriber;    }    public string savesubscriber( ) {        subscriber.save( );        return "success";    }}

    除此之外,我們還要寫入faces-config.xml配置文件,具體如下:

<faces-config>  ...  <managed-bean>    <managed-bean-name>subscr</managed-bean-name>    <managed-bean-class>      com.mycompany.newsservice.models.subscriber    </managed-bean-class>    <managed-bean-scope>session</managed-bean-scope>  </managed-bean>  <managed-bean>    <managed-bean-name>subscrhandler</managed-bean-name>    <managed-bean-class>      com.mycompany.newsservice.handlers.subscriberhandler    </managed-bean-class>    <managed-bean-scope>request</managed-bean-scope>    <managed-property>      <property-name>subscriber</property-name>      <value>#{subscr}</value>    </managed-property>  </managed-bean>  ...</faces-config>

    最后就是subscribe.jsp頁面文件代碼編寫,即用戶視圖部分,當服務器運行起來后,在網頁瀏覽器中可以看到網頁界面。

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %><%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %><html>  <head>    <title>newsletter subscription</title>  </head>  <body>    <f:view>      <h:form><table><tr> <td>email address:</td><td><h:inputtext value="#{subscr.emailaddr}" />            </td>          </tr>          <td>            <td>news letters:</td>            <td>              <h:selectmanycheckbox value="#{subscr.subscriptionids}">                <f:selectitem itemvalue="1" itemlabel="jsf news" />                <f:selectitem itemvalue="2" itemlabel="it industry news" />                <f:selectitem itemvalue="3" itemlabel="company news" />              </h:selectmanycheckbox>            </td>          </tr>        </table>        <h:commandbutton value="save"          action="#{subscrhandler.savesubscriber}" />      </h:form>    </f:view>  </body></html>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 开封县| 宜黄县| 阳谷县| 闵行区| 仁寿县| 武清区| 旺苍县| 遂宁市| 洪雅县| 砚山县| 昌都县| 盐津县| 普宁市| 瑞金市| 祁门县| 廊坊市| 乐业县| 镇江市| 宜丰县| 漾濞| 徐州市| 铜山县| 万山特区| 万源市| 高碑店市| 璧山县| 福泉市| 隆化县| 连云港市| 龙山县| 黔江区| 毕节市| 秦安县| 光泽县| 黄浦区| 兴安盟| 桐梓县| 延寿县| 定西市| 桦南县| 肇东市|