gpt4 book ai didi

ajax - JSF 复合组件 contains an unknown id - cannot locate it in the context of the component

转载 作者:行者123 更新时间:2023-12-02 09:39:27 26 4
gpt4 key购买 nike

我正在尝试使用 f:ajax 从复合组件事件更新父组件。

复合组件在这里:

<cc:interface>
<cc:attribute name="update" />
<cc:attribute name="customid" required="true"/>
<cc:attribute name="val" required="true"/>
<cc:attribute name="selectedvalue" required="true"/>
</cc:interface>
<cc:implementation>
<h:panelGrid columns="2" style="font-size: 10px" >
<p:selectOneMenu id="#{cc.attrs.customid} value="#{cc.attrs.selectedvalue}">
<f:selectItems value="#{cc.attrs.val}"/>
<f:ajax event="change" render="#{cc.attrs.update" />
</p:selectOneMenu>
<p:commandButton type="button" icon="ui-icon-plus" onclick="dlg.show();" />
</h:panelGrid>
</cc:implementation>

现在使用该组件时如下:

<h:form>
<ez:combo customid="make" val="#{vehicleBean.makes}" selectedvalue="#vehicleBean.vehicle.make}" update="model" />
<p:selectOneMenu id="model" value="#{vehicleBean.vehicle.model}">
<f:selectItems value="#{vehicleBean.models}" />
</p:selectOneMenu>
</h:form>

我收到以下错误:

包含未知的 id 'model' - 无法在组件 make 的上下文中找到它

最佳答案

由于要更新的​​组件位于 cc 之外,因此您必须以不同的方式解决它。首先给你的表单一个id:

<h:form id="myform">

然后从抄送中寻址目标组件,如下所示:

render=":myform:model"

请注意后面的冒号,它允许 JSF 从文档根搜索属性。

关于ajax - JSF 复合组件 <f :ajax> contains an unknown id - cannot locate it in the context of the component,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9858699/

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