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

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

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

    牛仔褲的夏天

    JAVA是藍色的- online

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      30 隨筆 :: 5 文章 :: 15 評論 :: 0 Trackbacks
    是學習JSF的時候了,請看下面摘抄的文章

    Struts和JSF/Tapestry都屬于表現層框架,這兩種分屬不同性質的框架,后者是一種事件驅動型的組件模型,而Struts只是單純的MVC模式框架,老外總是急吼吼說事件驅動型就比MVC模式框架好,何以見得,我們下面進行詳細分析比較一下到底是怎么回事?

      首先事件是指從客戶端頁面(瀏覽器)由用戶操作觸發的事件,Struts使用Action來接受瀏覽器表單提交的事件,這里使用了Command模式,每個繼承Action的子類都必須實現一個方法execute。

      在struts中,實際是一個表單Form對應一個Action類(或DispatchAction),換一句話說:在Struts中實際是一個表單只能對應一個事件,struts這種事件方式稱為application event,application event和component event相比是一種粗粒度的事件。

      struts重要的表單對象ActionForm是一種對象,它代表了一種應用,這個對象中至少包含幾個字段,這些字段是Jsp頁面表單中的input字段,因為一個表單對應一個事件,所以,當我們需要將事件粒度細化到表單中這些字段時,也就是說,一個字段對應一個事件時,單純使用Struts就不太可能,當然通過結合JavaScript也是可以轉彎實現的。

      而這種情況使用JSF就可以方便實現,

    <h:inputText id="userId" value="#{login.userId}">
      <f:valueChangeListener type="logindemo.UserLoginChanged" />
    </h:inputText>

      #{login.userId}表示從名為login的JavaBean的getUserId獲得的結果,這個功能使用struts也可以實現,name="login" property="userId"

      關鍵是第二行,這里表示如果userId的值改變并且確定提交后,將觸發調用類UserLoginChanged的processValueChanged(...)方法。

      JSF可以為組件提供兩種事件:Value Changed和 Action. 前者我們已經在上節見識過用處,后者就相當于struts中表單提交Action機制,它的JSF寫法如下:

    <h:commandButton id="login" commandName="login">
      <f:actionListener type=”logindemo.LoginActionListener” />
    </h:commandButton>

      從代碼可以看出,這兩種事件是通過Listerner這樣觀察者模式貼在具體組件字段上的,而Struts此類事件是原始的一種表單提交Submit觸發機制。如果說前者比較語言化(編程語言習慣做法類似Swing編程);后者是屬于WEB化,因為它是來自Html表單,如果你起步是從Perl/PHP開始,反而容易接受Struts這種風格。

    posted on 2006-03-24 08:58 luckyrobbie 閱讀(212) 評論(0)  編輯  收藏 所屬分類: Struts & Hibernate
    主站蜘蛛池模板: 成在人线AV无码免费| 亚洲熟妇无码爱v在线观看| 亚洲一区二区三区不卡在线播放| 国产免费怕怕免费视频观看| 亚洲三级在线免费观看| eeuss在线兵区免费观看| 亚洲国产成人久久综合| 国产日韩成人亚洲丁香婷婷| 午夜视频免费成人| 一级特黄aa毛片免费观看| 国产精品内射视频免费| 免费VA在线观看无码| 久久亚洲私人国产精品| 暖暖免费高清日本一区二区三区| 福利免费在线观看| 亚洲国产成人精品无码区在线秒播 | 亚洲AV无码久久精品成人| 久久笫一福利免费导航| 一级一级一片免费高清| 国产成人综合亚洲| 亚洲中文字幕无码亚洲成A人片| 国产av无码专区亚洲国产精品| 亚洲精品在线免费观看视频| 美女免费视频一区二区三区| 亚洲午夜精品久久久久久人妖| 亚洲国产精品无码久久SM| 日本大片在线看黄a∨免费| 精品久久久久成人码免费动漫| 37pao成人国产永久免费视频| 久久一本岛在免费线观看2020| 国产免费阿v精品视频网址| 亚洲免费在线观看| 国产免费久久精品丫丫| 亚洲爆乳AAA无码专区| 亚洲日本va一区二区三区| 亚洲乱亚洲乱妇无码麻豆| 日本无吗免费一二区| 日韩免费视频网站| 免费日韩在线视频| 亚洲综合色成在线播放| 亚洲无线码一区二区三区|