在c:forEach中的视图构建时间内评估EL

时间:2013-09-14 12:57:12

标签: jsf jsf-2 jstl el

在c:forEach循环中的视图构建时间中EL语句会发生什么。

<c:forEach var="v" values="#{bean.values}">
    <p:inputText value="#{v.name}" />
</c:forEach>

class Bean {
   public List<Pojo> getValues();
}

class Pojo {
   public void setName (String);
   public String getName();
}

如何评估此代码的渲染?到:

 <p:inputText value="John Smith">

 <p:inputText value="#{pojo.name}" >

1 个答案:

答案 0 :(得分:5)

对于UI组件,在视图构建期间仅立即评估idbinding属性。所有其他属性都被推迟。即他们将获得ValueExpression(或MethodExpression)的实例,而不是立即评估的值。每个ValueExpression / getValue()来电都会重新评估setValue()

另见: