我希望在这篇文章中,我可以得到人们对于JSF页面和后备bean之间的接口的最佳实践的看法。
我永远无法解决的一件事是我的后备豆结构。此外,我从未找到关于该主题的好文章。
哪些属性属于哪个后备豆?在什么时候向给定的bean添加更多属性而不是创建一个新bean并将属性添加到给定bean?对于简单的应用程序,考虑到将一个bean注入另一个bean所涉及的复杂性,在整个页面上只有一个backing bean是否有意义?支持bean应该包含任何实际的业务逻辑,还是应该严格包含数据?
随时回答这些问题以及可能出现的任何其他问题。
至于减少JSF页和后备bean之间的耦合,我决不允许JSF页访问任何后备bean属性的属性。例如,我绝对不允许:
<h:outputText value="#{myBean.anObject.anObjectProperty}" />
我总是要求类似:
<h:outputText value="#{myBean.theObjectProperty}" />
支持bean值为:
public String getTheObjectProperty()
{
return anObject.getAnObjectProperty();
}
例如,当我遍历一个集合时,我使用包装器类以避免钻取到数据表中的对象。
通常,这种方法对我来说感觉“正确”。它避免了视图和数据之间的任何耦合。如果我错了,请纠正我。