在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ HTML/ JSF托管bean(Managed Bean)
JSF數(shù)據(jù)表(h:dataTable)添加刪除
JSF <h:commandLink>標簽
JSF應用程序入門示例
JSF數(shù)據(jù)表(ui:repeat)創(chuàng)建表
JSF列表框
JSF數(shù)據(jù)表(h:dataTable)DataModel排序數(shù)據(jù)
JSF復合組件
JSF <h:inputText>標簽
JSF表單組合框
JSF <h:messages>標簽
JSF <h:message>標簽
JSF轉(zhuǎn)換日期時間
JSF JDBC連接
JSF <h:inputHidden>標簽
JSF多選列表框
JSF <h:inputSecret>標簽
JSF自定義轉(zhuǎn)換器
JSF <f:ajax>標簽
JSF生命周期
JSF可重定位資源
JSFJSF用戶界面組件模型
JSF <h:attribute>標簽
JSF驗證器標簽
JSF驗證字符串長度
JSF轉(zhuǎn)換器標簽
JSF托管bean(Managed Bean)
JSF值變化的事件
JSF UI組件示例
JSF MySQL CURD實例
JSF數(shù)據(jù)表(h:dataTable)排序數(shù)據(jù)
JSF <h:graphicImage>標簽
JSF <f:convertNumber>標簽
JSF教程
JSF托管Bean
JSF輸出腳本
JSF <h:outputText>標簽
JSF操作事件
JSF驗證正則表達式
JSF數(shù)據(jù)表(h:dataTable)行號
JSF <h:setPropertyActionListener>標簽
JSF注入托管bean實例
JSF <h:commandButton>標簽
JSF Web資源
JSF <h:inputFile>標簽
JSF驗證浮點數(shù)值范圍
JSF Facelets視圖
JSF是什么?
JSF Facelets模板
JSF的特性(特點)
JSF自定義驗證器類
JSF單選按鈕
JSF輸出樣式
JSF數(shù)據(jù)表(h:dataTable)更新數(shù)據(jù)
JSF HTML5友好標記
JSF表單復選框(CheckBox)示例
JSF <h:form>標簽
JSF Facelets技術介紹
JSF輸出格式化
JSF <h:inputtextarea>標簽
JSF驗證整數(shù)范圍
JSF <h:panelGrid>標簽

JSF托管bean(Managed Bean)

JSF 托管bean(Managed Bean)是JSF注冊的常規(guī)Java Bean類。托管bean包含getter和setter方法,業(yè)務邏輯。JSF托管bean作為UI組件的Model。 它存儲JSF xhtml頁面使用的數(shù)據(jù)。借助JSF框架,可以從JSF頁面訪問托管Bean。
在JSF 1.2中,我們必須在JSF配置文件(如faces-config.xml)中注冊受管理的bean。
從JSF 2.0可以使用注解注冊管理bean。

使用XML配置

以下代碼顯示如何使用JSF管理的bean進行注冊 -

<managed-bean>
  <managed-bean-name>helloWorld</managed-bean-name>
  <managed-bean-class>com.yiibai.test.HelloWorld</managed-bean-class>
  <managed-bean-scope>request</managed-bean-scope>
</managed-bean> 
<managed-bean>
  <managed-bean-name>message</managed-bean-name>
  <managed-bean-class>com.yiibai.test.Message</managed-bean-class>
  <managed-bean-scope>request</managed-bean-scope>
</managed-bean>

使用@ManagedBean注解

以下代碼顯示了如何使用注解來注冊JSF托管的bean。

@ManagedBean(name = "helloWorld", eager = true)
@RequestScoped
public class HelloWorld {

   @ManagedProperty(value="#{message}")
   private Message message;
   ...
}

@ManagedBean將bean標識為名稱屬性中指定的名稱的托管bean。如果未指定name屬性,那么托管bean名稱將默認為簡單的類名稱,其中第一個字母小寫。 在我們的情況下是helloWorld。
如果eager設置為“true”,則在請求之前創(chuàng)建托管bean。如果使用“lazy”初始化,只有在請求時才會創(chuàng)建bean。

范圍注解

范圍注解設置受管Bean的范圍。如果未指定范圍,則bean將默認為請求范圍。
我們可以將JSF bean范圍設置為以下列表。

  • @RequestScoped bean只要HTTP請求響應就行。它根據(jù)HTTP請求創(chuàng)建,并在與HTTP請求相關聯(lián)的HTTP響應完成時被銷毀。
  • @NoneScoped bean與單個表達式語言(EL)求值時間一樣長。 在EL求值評估時創(chuàng)建,并在EL求值評估后被銷毀。

  • @ViewScoped bean只要用戶在瀏覽器窗口中與同一JSF視圖進行交互即可。 它根據(jù)HTTP請求創(chuàng)建,并在用戶導航到其他視圖時被銷毀。

  • @SessionScoped bean只要HTTP會話生存。 它在第一個HTTP請求時創(chuàng)建,并在HTTP會話無效時被銷毀。

  • @ApplicationScoped bean只要Web應用程序生存。 它在第一個HTTP請求或Web應用程序啟動時創(chuàng)建,并且在@ManagedBean中設置屬性eager = true,并在Web應用程序關閉時被銷毀。

  • @CustomScoped bean只要在為此范圍創(chuàng)建的自定義Map中的bean的條目生效。

@ManagedProperty注釋

JSF是一個簡單的靜態(tài)依賴注入(DI)框架。 @ManagedProperty注釋標記被托管的bean的屬性以注入另一個受托管的Bean。