当jsf中自定义ajax组件自身的值发生更改时,隐藏该组件

当jsf中自定义ajax组件自身的值发生更改时,隐藏该组件,jsf,richfaces,conditional-rendering,ajax-update,Jsf,Richfaces,Conditional Rendering,Ajax Update,我有一个自定义的ajax组合框组件。当其中的值发生更改时,我希望隐藏组合框并在其位置显示标签。我尝试使用combobox的render属性和h:outputText来实现它。它可以正常工作,但浏览器会出现以下错误: 处理请求时出错。详细信息:Dom元素:ppForm:workItemsTree:0:1:1:受让人\受让人\设置值请求状态:未找到 assignee setValue是在combobox更改时调用的方法 当组合框的“渲染”(render)属性设置为false时,为什么浏览器仍在尝试定

我有一个自定义的ajax组合框组件。当其中的值发生更改时,我希望隐藏组合框并在其位置显示标签。我尝试使用combobox的render属性和h:outputText来实现它。它可以正常工作,但浏览器会出现以下错误:

处理请求时出错。详细信息:Dom元素:ppForm:workItemsTree:0:1:1:受让人\受让人\设置值请求状态:未找到

assignee setValue是在combobox更改时调用的方法 当组合框的“渲染”(render)属性设置为false时,为什么浏览器仍在尝试定位组合框

更新:

组合框组件是一个facelet模板,它具有动态ID。在渲染时,id的动态部分丢失(在“\u”之后,我已表示为丢失的\u id\u部分以供参考),如下所示

ppForm:workItemsTree:0:1:1:受让人\受让人\设定值 ppForm:workItemsTree:0:1:1:assignee\u MISSING\u ID\u PART:assignee\u MISSING\u ID\u PARTsetValue

将richfaces 4.2.2与myfaces 2.1一起使用


通常,是否可以从一个组件启动ajax请求,而不是呈现该组件,而是呈现其他组件?如果是,请分享如何做到这一点或实现这一点的任何变通方法。

如果您想知道代码有什么问题,您必须展示代码,您使用的是什么版本的RichFaces?因为组件应该在渲染之前构建。若组件未渲染,并不意味着它未生成。