一页上的JSF多个支持bean

Nir*_*evy 6 java jsf facelets

我做了一些阅读和演奏,我还有一些问题,我希望有人可以回答:

那么,我可以在一个JSF页面中使用两个或更多支持bean吗?

<h:intputText value="#{myFirstBean.firstProperty}" />
<h:intputText value="#{mySecondBean.secondProperty}" />
Run Code Online (Sandbox Code Playgroud)

如果可以的话,我为什么不这样做?(我想我不应该,因为没有人这样做)

如果我不能,为什么?

此外,我在某处读到类似"在页面上加载框架将实例化支持bean,并填充它,如果它是一个回发".他们说,支持bean,但我不明白的框架如何知道哪些支持bean实例.

cet*_*nar 5

让我们澄清一些术语:

  • 托管 bean是 JavaBeans 组件,您可以使用托管 bean 工具对其进行配置,请参阅
  • 支持 bean是 JavaServer Faces 托管 bean,与特定页面中使用的 UI 组件相关联,请参见

因此,是的,您可以在单个 JSF 页面中使用两个或多个托管 bean,但是将与一个页面相关的 UI 组件绑定、侦听器、逻辑等拆分为两个或多个支持 bean 仍然是可行的,但非常不受欢迎,并且可能会导致您很多问题和糟糕的代码。

  • Sun 的这个定义相当不透明。我宁愿说:支持 bean 是与视图相关联的 Java(模型)类,托管 bean 是此类的 *实例*,它与 *某些* 视图和范围相关联。 (5认同)