环境:Seam,Richfaces
以下代码片段会导致方法getUsers被多次调用,如何在我的应用程序中避免这种情况,以便只调用一次。
<c:forEach items="#{userHome.getUsers()}" var="_user">
</c:forEach>
答案 0 :(得分:4)
经验法则是在使用JSF时避免<c:
标记(除非您确定它们按预期工作)
在这里,您最好将其重新命名为:
<a4j:repeat value="#{userHome.users}" var ="_user">
</a4j:repeat>
(如果使用facelets,则为<ui:repeat>
)
P.S。我想getUsers()
是JBoss的EL扩展,但我建议不要使用它的扩展功能,除非确实需要。
答案 1 :(得分:2)
对于上帝的爱,如果你关心使用EntityHome / Query框架的 避免 。只需在getResultList()
上放置一个断点或输出,看看它被调用了多少次。现在尝试使用普通的接缝组件。你会看到一个重大的变化(!)