gpt4 book ai didi

java - cellEditor 中的 commandLink 不会触发 action/actionListener

转载 作者:搜寻专家 更新时间:2023-11-01 02:12:47 28 4
gpt4 key购买 nike

我使用的是 Primefaces 3.4 和 JSF 2.0。我有一个 p:commandLink:

<p:commandLink action="#{wizard.onRemoveFoodItem}" update="@(#ingredientListContent)" immediate="true">
<span class="ui-icon ui-icon-close"></span>
<f:setPropertyActionListener target="#{wizard.selectedFoodItem}" value="#{foodItem}" />
</p:commandLink>

它的目的是从我的 p:dataTable 中的食品列表中删除一行,它在正常情况下有效。问题在于我想在相同位置也有一个 p:rowEditor,对于那些熟悉 primefaces rowEditor 的人来说,在编辑时,你可以看到一个检查和一个 x 图标(用于结束编辑模式)而且我不希望有两个关闭图标,一个意思是取消编辑模式,另一个意思是删除当前行。

所以我决定将它嵌入到 p:cellEditor 中,以便在编辑过程中隐藏删除行的“x”:

<p:cellEditor>   
<f:facet name="output">
<p:commandLink action="#{wizard.onRemoveFoodItem}" update="@(#ingredientListContent)" immediate="true">
<span class="ui-icon ui-icon-close"></span>
<f:setPropertyActionListener target="#{wizard.selectedFoodItem}" value="#{foodItem}" />
</p:commandLink>
</f:facet>
<f:facet name="input"><h:outputText value="" /></f:facet>
</p:cellEditor>

这奇怪地发送了一个 ajax 请求并获得了一个更新响应(没有明显的验证错误),但是它没有调用操作方法 onRemoveFoodItem,就像它不在 p:cellEditor 标记内时那样。我知道 p:cellEditor 并不是真正打算以这种方式使用,但我会假设当它可见时,它的行为就好像它周围没有 p:cellEditor 一样。

谁能看出这里有什么明显的错误,或者这是 primefaces 的问题?如果有任何帮助,我将不胜感激。

最佳答案

我遇到了类似的问题,通过将 process="@this" 属性添加到 p:commandLink 解决了这个问题。

关于java - cellEditor 中的 commandLink 不会触发 action/actionListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14379815/

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