对于延迟的EL表达式,JSF将在单个请求期间多次评估它。我已经检查了JavaEE教程,它说:
对于回发请求,JavaServer Faces实现将进行评估 在生命周期的不同阶段的表达,在此期间 值从请求中检索,验证并传播到 客户豆。
那么它是否意味着JSF将在单个请求中评估EL表达式3次?这可能是潜在的性能问题。
例如,我们可以使用#{userList.resultList}
表达式检索实体集合。 JSF对它进行了3次评估,可以说,在一次请求中,数据库将被查询3次。如何避免这种冗余的数据库查询?
谢谢!
答案 0 :(得分:2)
请参阅:Why JSF calls getters multiple times
我可以剪切并粘贴并继续关于此,但在BalusC的上述帖子中,所有内容都得到了非常好的解释