gpt4 book ai didi

java - Unable to attach to non-ClientBehaviorHolder parent

转载 作者:搜寻专家 更新时间:2023-10-30 19:57:34 26 4
gpt4 key购买 nike

我在运行我的应用程序时收到以下错误:

<f:ajax> Unable to attach <f:ajax> to non-ClientBehaviorHolder parent

我的 JSF:

    <h:commandButton id="submitschool" action="submit" value="Get templates" style="FONT-SIZE: medium;FONT-FAMILY: 'Rockwell';width : 128px; height : 24px;">
<ui:repeat value="#{person.theImage}" var="item">
<f:ajax event="change" render="image" />
<h:graphicImage id="image" value="#{item}"/>
</ui:repeat>
</h:commandButton>

我正在尝试将数组中的元素返回到 View ,其中“theImage”是 person 类中的数组。

最佳答案

<f:ajax> 标签只能直接嵌套在 UIComponent 中它实现了 ClientBehaviorHolder 界面。 <ui:repeat> 不是其中之一。

单击 javadoc 链接,它告诉以下内容:

All Known Implementing Classes:

HtmlBody, HtmlCommandButton, HtmlCommandLink, HtmlDataTable, HtmlForm, HtmlGraphicImage, HtmlInputSecret, HtmlInputText, HtmlInputTextarea, HtmlOutcomeTargetButton, HtmlOutcomeTargetLink, HtmlOutputLabel, HtmlOutputLink, HtmlPanelGrid, HtmlSelectBooleanCheckbox, HtmlSelectManyCheckbox, HtmlSelectManyListbox, HtmlSelectManyMenu, HtmlSelectOneListbox, HtmlSelectOneMenu, HtmlSelectOneRadio

从你的问题中不清楚你的意图是什么,所以我不能给出比建议摆脱 <f:ajax> 更具体的答案。在这种情况下。它不属于那里。也许你打算把它直接放在 <h:commandButton> 里面(类型为 HtmlCommandButton ),但随后您需要更改 change事件,因为它在 <input type="submit"> 上没有意义由 <h:commandButton> 生成.

我想你也想移动 <ui:repeat>来自 <h:commandButton>因为那也没有多大意义。把它放在 <h:commandButton> 旁边而不是嵌套在里面。

关于java - <f :ajax> Unable to attach <f:ajax> to non-ClientBehaviorHolder parent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3539992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com