<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麻豆不卡| 免费99热在线观看| 亚洲国产综合精品中文第一区| 久久久精品视频免费观看| 国产成人99久久亚洲综合精品| 粉色视频在线观看www免费| 国产女高清在线看免费观看 | 国产精品永久免费10000| 亚洲成电影在线观看青青| 最近免费中文字幕大全免费 | 成人在线免费观看| 久久久久久亚洲精品影院| 天天干在线免费视频| 欧美激情综合亚洲一二区| 亚洲精品国产福利一二区| A国产一区二区免费入口| 人人狠狠综合久久亚洲婷婷| 久久久久久毛片免费播放| 亚洲一级毛片免费在线观看| 日韩激情无码免费毛片| 大片免费观看92在线视频线视频| 国产成人毛片亚洲精品| 青青草无码免费一二三区| 久久精品国产亚洲αv忘忧草 | 久久久www成人免费毛片 | 亚洲精品第一国产综合亚AV| 免费一级e一片在线播放| 91精品成人免费国产| 亚洲永久中文字幕在线| 国产精品久久久久久久久久免费| 美女尿口扒开图片免费| 亚洲精品无码专区久久久| 国产在线观看麻豆91精品免费| 亚洲av日韩aⅴ无码色老头| 亚洲精品蜜桃久久久久久| www视频免费看| 曰批全过程免费视频观看免费软件| 亚洲精品无码久久久久| 最近免费中文字幕大全视频| 一级毛片a免费播放王色电影 | 亚洲综合色视频在线观看|