gpt4 book ai didi

jsf - 使用 EL 变量为标签动态分配 ID

转载 作者:行者123 更新时间:2023-12-04 14:04:21 25 4
gpt4 key购买 nike

我想遍历一些“客人”并动态插入一个 id

<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 - Cannot find component "firstname_1" in view. at org.primefaces.component.message.MessageRenderer.encodeEnd(MessageRenderer.java:41)



如果我在循环内写一个常量,它就没有任何问题,而且我确信可以解析该变量,因为我可以在该循环中输出它。

如何指示 jsf 或 primefaces 解析此变量?

最佳答案

您不能在 id 中使用 EL 表达式属性。

但是您不需要关心 ui:repeat 中 id 的唯一性。 JSF 为您完成。只需给您的输入字段一个“固定”ID 并在您的 p:message 中引用它:

<ui:repeat value="#{guestList}" var="guest">
<p:inputText id="firstname" value="" label="Firstname" />
<p:message for="firstname" />
</ui:repeat>

关于jsf - 使用 EL 变量为标签动态分配 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9770358/

25 4 0