我的设置如下:我在另一个(taskList)中有一个复合组件(taskEntry)。
<ul class="tableView">
<ui:repeat value="#{cc.attrs.taskList}" var="task">
<jid1:taskEntry task="#{task}" />
</ui:repeat>
</ul>
任务入口定义为:
<li>
<h:outputText value="#{cc.attrs.task.title} " />
<h:commandLink actionListener="#{cc.attrs.taskBean.toggle(cc.attrs.task)}">
<f:ajax execute="@this" render="??" />
</h:commandLink>
</li>
你能建议我应该渲染哪个 ID 吗?
如果我在“li”(例如 panelGroup)中定义一个“id”,第一个 ajax 调用按预期工作,第二个调用什么也不做,第三个给我一个 JS 错误。添加一个 panelgrid 来包围 'li' 根本不会呈现 panelgrid 定义。我不想重新渲染整个列表,只是 jid1:taskEntry
我在第三次点击时得到的错误是:
java.lang.IllegalStateException: Component ID j_idt37:j_idt52:j_idt55:j_idt61 has already been found in the view.