Java學習

          java,spring,structs,hibernate,jsf,ireport,jfreechart,jasperreport,tomcat,jboss -----本博客已經搬家了,新的地址是 http://www.javaly.cn 如果有對文章有任何疑問或者有任何不懂的地方,歡迎到www.javaly.cn (Java樂園)指出,我會盡力幫助解決。一起進步

           

          JSF中的commandButton、commandLink、outputLink用法

          comanndButton和commandLink:

          commandLink必須要在一個from中。

          comanndButton和commandLink要在一個from中才能提交表單內容。

          會發送回本頁面,并觸發JSF的生命周期,比如:重建組件樹、應用請求值等,因此,允許設置actionListener和action屬性,這樣他們可以很輕松完成強大的功能。

          <h:commandButton actionListener="#{actionListener.check}"; value="送出"; action="#{user.check}" />

          actionListener 響應的一個事件,當然這個和js中的事件不一樣.actionListener="#{actionListener.check}"響應的是服務器端的事件actionListener類的check方法.

          action 用過STRUTS的都知道,提交后執行的方法.當然在SRTUTS中action="URL",而這里是一個user類的check方法.

          不足在于:如果重建組件樹的成本比較高(比如:當前頁面顯示一個數據表格),而這些組件對于即將跳轉到的頁面沒什么用時,就應該考慮使用outputLink了。

          <h:commandLink action="#{user.testLink}"><f:verbatim>增加</f:verbatim></h:commandLink>

          另外:如果需要傳遞參數<f:param.../>,使用commandLink
          在action或actionListener中獲取<f:param.../>:
          FacesContext ctx = FacesContext.getCurrentInstance();
          int productId = Integer.parseInt((String)ctx.getExternalContext().getRequestParameterMap().get("productId"));

          outputLink

          比起前兩個來說,他相當的輕量級了。他會直接產生一個<a href=""></a>鏈接,跳轉到相應的頁面,因此沒有進入JSF生命周期的額外開銷,跟我們直接寫一個html的鏈接沒什么區別。

          如果需要傳遞參數,嵌入<f:param name="a" value="b"/>就可以了,當然這里的value可以用表達式來表示,比如value="#{param.productId}",用起來是相當方便的。
          <h:outputLink value="productEdit.faces">
          <h:outputText value="編輯"/>
          <f:param name="productId" value="#{item.productId}"/>
          </h:outputLink>

          其效果為<a href="..jsf?productId=..."></a>

          h:commandButton、h:commandLink 和h:outputLink的差別在于:h:outputLink沒有進入JSF的生命周期,而h:commandLink和h:commandButton都要進入JSF的生命周期.

          posted on 2008-10-07 13:14 找個美女做老婆 閱讀(1776) 評論(2)  編輯  收藏

          評論

          # re: JSF中的commandButton、commandLink、outputLink用法 2009-06-10 10:47 找個美女做老婆

          http://www.510gougou.com  回復  更多評論   

          # re: JSF中的commandButton、commandLink、outputLink用法 2009-06-10 10:47 找個美女做老婆

          http://www.javaly.cn  回復  更多評論   


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


          網站導航:
           

          導航

          統計

          公告

          本blog已經搬到新家了, 新家:www.javaly.cn
           http://www.javaly.cn

          常用鏈接

          留言簿(6)

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 夏邑县| 永顺县| 沂源县| 专栏| 靖边县| 博罗县| 洪湖市| 桓仁| 马尔康县| 铜山县| 巧家县| 襄汾县| 瑞金市| 峨眉山市| 固安县| 池州市| 嘉兴市| 东兴市| 沙坪坝区| 定结县| 乡城县| 日照市| 即墨市| 北京市| 永州市| 义乌市| 略阳县| 巫溪县| 商都县| 兴安县| 客服| 安庆市| 手游| 鸡西市| 高要市| 报价| 利津县| 尉氏县| 夏河县| 安平县| 太原市|