我想知道这两个代码段中的哪一个更有效率。
第一个
在userSearch.xhtml
:
<rich:dataTable
var="user"
value="#{userSearchResultList}"
rendered="#{not empty userSearchResultList}">
...
</rich:dataTable>
在UserSearchAction.java
:
@Produces @RequestScoped
@Named("userSearchResultList")
public List<User> getResultList() {
return resultList;
}
第二个
在userSearch.xhtml
:
<rich:dataTable
var="user"
value="#{userSearchAction.resultList}"
rendered="#{not empty userSearchAction.resultList}">
...
</rich:dataTable>
在UserSearchAction.java
:
public List<User> getResultList() {
return resultList;
}
在这两个解决方案中,我的resultList
变量都由方法UserSearchAction.search()
填充。
我使用JBoss 7.0.2.Final和RichFaces 4.1.0.Final。
更一般地说,我想知道编写生成器是否比调用JSF文件中某些类的子属性更好。
答案 0 :(得分:1)
这取决于您的制作人如何制作正在制作的内容。如果它是依赖范围的(意味着你没有范围,也没有包含类)它最终是相同的,可能更少取决于你在该方法中必须做什么。
在您的示例中,它应该更有效,因为该生产者方法应该只被调用一次(每个请求)。