【发布时间】:2010-07-26 16:14:21
【问题描述】:
是否可以仅在某些页面上创建托管 bean,即 page1.faces 上的 bean != null 和其他页面上的 bean == null?
【问题讨论】:
是否可以仅在某些页面上创建托管 bean,即 page1.faces 上的 bean != null 和其他页面上的 bean == null?
【问题讨论】:
不,不可能将 JSF 下托管 bean 的可访问性限制为特定页面。只需在根据您的设计认为合适的页面中使用它。
通常有一个 JSF 应用程序将给定的托管 bean 用于某些页面,尤其是表单 bean。例如,如果您有一个用于在应用程序中创建和/或更新某些类型的实体的表单,比如说产品定义,您会发现自己声明了如下代码:
<managed-bean>
<managed-bean-name>productForm</managed-bean-name>
<managed-bean-class>com.example.forms.ProductForm</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>someProperty</property-name>
<value>propertyValue</value>
</managed-property>
</managed-bean>
然后在您的实际 viewProduct.jsp 中重用它,如下所示
Product Name: <h:inputText value="#{productForm.productName}" styleClass="someClass"/>
托管 bean 是 JSF 开发过程中的核心组件。托管 bean 不仅仅是初始化某些属性并帮助将您的演示与模型联系起来。要更好地了解使用托管 bean 背后的基本原理和理念,包括 IoC,请参阅:http://www.oracle.com/technology/tech/java/newsletter/articles/jsf_pojo/index.html
【讨论】: