我想循环遍历一些“来宾”并插入一个id dynanimally
<ui:repeat value="#{guestList}" var="guest">
<p:inputText id="firstname_#{guest.uniqueID}" value="" label="Firstname" />
<p:message for="firstname_#{guest.uniqueID}" />
</ui:repeat>
问题是,<p:message />
无法解决firstname_#{guest.uniqueID}
javax.faces.FacesException - 在视图中找不到组件“firstname_1”。 在org.primefaces.component.message.MessageRenderer.encodeEnd(MessageRenderer.java:41)
如果我在循环中写一个常量,它没有任何问题,并且我确信该变量可以被解析,因为我可以在该循环中输出它。
如何指示jsf或primefaces来解析这个变量?
答案 0 :(得分:9)
您无法在id
属性中使用EL表达式。
但是你不需要关心ui中id的唯一性:重复。 JSF为您做到了。只需将输入字段设为“固定”ID,然后在p:message
:
<ui:repeat value="#{guestList}" var="guest">
<p:inputText id="firstname" value="" label="Firstname" />
<p:message for="firstname" />
</ui:repeat>