配置受管理 Bean

另请参见  

要在应用程序开发中使用 EnterpriseItem BeanEnterpriseItems BeanIdentity Bean 受管理 Bean,必须在应用程序配置资源文件中声明这些 Bean。这些声明确保了 JavaServer Faces 实施能够自动在需要时创建这些 Bean 的新实例。还应在此文件中定义 Bean 的资源和默认属性设置。默认情况下,此文件名为 faces-config.xml

注意:     faces-config.xml 文件还用于配置定义 Web 应用程序导航流程的导航规则。有关更多信息,请参阅定义导航规则

例如,以下是一个受管理 Bean 声明的模板:

<managed-bean>

<description>Description of the managed bean.</description>

<managed-bean-name>Name of the managed bean.</managed-bean-name>

<managed-bean-class>Fully qualified class name.</managed-bean-class>

<managed-bean-scope>Scope of the bean.</managed-bean-scope>

<managed-bean-property>

<property-name>Name of the bean property.</property-name>

<value>Default value of the property.</value>

</managed-bean-property>

</managed-bean>

受管理 Bean 的基本详细信息由 <description>、<managed-bean-name> 和 <managed-bean-class> 标记指定。<managed-bean-name> 标记包含用于在 JSF 组件属性内引用 Bean 的名称。例如,考虑开始部分的 ItemsGrid 和 ItemsColumn 组件 标记。

<boe:itemsGrid id="myItemsGrid" enterpriseItems="#{enterpriseItems}">

要让 ItemsGrid 组件通过这种方式使用 enterpriseItems 属性来引用 EnterpriseItems Bean,faces-config.xml 中必须有受管理 Bean 声明:

<managed-bean-name>enterpriseItems</managed-bean-name>

<managed-bean-class> 标记应包含 Bean 类的完全限定名称,例如:

<managed-bean-class>

com.businessobjects.jsf.appcontrols.model.EnterpriseItems

</managed-bean-class>

<managed-bean-scope> 标记定义 Bean 存储在何处以及何时可用。对于 EnterpriseItem BeanEnterpriseItems BeanIdentity Bean Bean,请使用会话范围:

<managed-bean-scope>session</managed-bean-scope>

最后,使用零或更多 <managed-bean-property> 标记来定义 Bean 属性的默认值,这些属性是由 <property-name> 和 <value> 子标记指定的。许多属性将采用基本类型,如字符串或整数。但是,如果 Bean 属性不是基本类型,则还需要指定用作类型的属性类的完全限定名称。例如:

<managed-bean-property>

<property-name>nextRangeButton</property-name>

<property-value>com.businessobjects.jsf.sdk.properties.SubmitButtonProps</property-class>

<value>#{myButtonProps}</property-value>

</managed-bean-property>

#{myButtonProps} 语句引用 SubmitButtonProps Bean。有关属性 Bean 的更多信息,请参阅如何将属性类与 Crystal Enterprise 的 JavaServer Faces 组件结合使用?

JavaServer Faces 实施在应用程序启动时处理 faces-config.xml。在从页面中第一次引用某个 Bean 时,JavaServer Faces 实施将初始化该 Bean,并将其存储在定义的范围内(如果该 Bean 的实例不存在)。然后,应用程序中的所有页面将都能够使用该 Bean。


Business Objects
http://www.china.businessobjects.com

支持服务
http://www.china.businessobjects.com