【发布时间】:2010-10-19 06:20:48
【问题描述】:
我希望在这篇文章中,我可以得到人们对 JSF 页面和 backing beans 之间接口的最佳实践的意见。
我永远无法解决的一件事是我的支持 bean 的结构。此外,我从来没有找到关于这个主题的好文章。
哪些属性属于哪些支持 bean?什么时候向给定的 bean 添加更多属性而不是创建一个新 bean 并将属性添加到它上面是合适的?对于简单的应用程序,考虑到将一个 bean 注入另一个 bean 所涉及的复杂性,整个页面只有一个支持 bean 是否有意义?支持 bean 应该包含任何实际的业务逻辑,还是应该严格包含数据?
请随意回答这些问题以及可能出现的任何其他问题。
关于减少 JSF 页面和支持 bean 之间的耦合,我从不允许 JSF 页面访问任何支持 bean 属性的属性。例如,我从不允许这样的事情:
<h:outputText value="#{myBean.anObject.anObjectProperty}" />
我总是需要类似的东西:
<h:outputText value="#{myBean.theObjectProperty}" />
支持 bean 值为:
public String getTheObjectProperty()
{
return anObject.getAnObjectProperty();
}
例如,当我遍历一个集合时,我会使用一个包装类来避免向下钻取到数据表中的对象。
总的来说,这种方法对我来说是“正确的”。它避免了视图和数据之间的任何耦合。如果我错了,请纠正我。
【问题讨论】:
-
你能举个例子吗:例如,当我循环一个集合时,我使用一个包装类来避免深入到数据表中的对象。
-
有关更多信息,请参阅 BalusC 在stackoverflow.com/questions/7223055/…的回答