它能做什么
我有一个使用 PrimeFaces 3.1.1 的 web 应用程序。该应用程序的目的是提供一种更用户友好的方式来遍历我们拥有的 XML 聚合器。它最初是用 SCALA 编写的,但现在我已经用 Java 实现了它。
问题是什么
当用户选择一堆 XML 文件时,有一个选项可以解析这些文件并以用户友好的方式显示它们的值。当我不过滤任何东西时,这很有效,但是一旦我过滤我的数据表,它就会开始以一种非常奇怪的方式表现。它挂在文件上,不会更新到当前选定的 XML 文件。
例如,在这里,您可以看到我已feed details
为文件选择了 ,但我正在获取先前选择的文件的提要详细信息。
以下是示例按钮的代码:
<p:commandButton oncomplete="mungeBetResultDialog.show()"
update=":mungeBetResultForm" icon="ui-icon ui-icon-search"
title="view changes" rendered="#{searchBean.isFootballMungeResult(feed.xml)}"
style="height:20px;">
<f:setPropertyActionListener value="#{feed}" target="#{searchBean.selectedFeed}"/>
<f:setPropertyActionListener value="#{true}" target="#{searchBean.showFeedDetails}"/>
</p:commandButton>
示例按钮存在于DataTable
. DataTable 没有支持 bean。
我设法解决的问题
所以我注意到它特别是没有触发的动作监听器之一。这个:
<f:setPropertyActionListener value="#{feed}" target="#{searchBean.selectedFeed}"/>
我在这个调用的代码中添加了一个日志,在过滤后它适用于某些而不适用于另一些,而在它完美运行之前。
注意:仅当我在过滤提要后尝试查看提要的详细信息时才会出现此错误这告诉我前端存在某种问题,而不是后端代码存在问题。
我的问题
PrimeFaces 中是否有某种众所周知的错误会setPropertyActionListener
在适当的时间禁用标签?我已经看到 bug 停止commandLinks
了,但是那里建议的修复似乎对我不起作用。