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