好的,所以我会在没有代码的情况下表达我在子弹点上所做的事情(因为我在一个巨大的混乱中)......
<p:layout>
由<p:layoutUnit>
组成的单页应用程序(在使用<ui:include>
的主页上的不同页面中)<p:layoutUnit>
是单个<p:dataTable>
动态更新(也是动态数据表,基于选定的单行和关联<p:commandButton>
} <p:layoutUnit>
动态更新基于dataTable中发生的操作(它们包含按钮,其动作(目前未定义)随dataTable数据和动态标题文本的更改而更新<); < / LI>
<p:commandButton>
每行)现在解决实际问题
当我使用&#39; next&#39;按钮转到树中的下一级数据,让我说明会发生什么:
为什么会这样?为什么“不采取行动”&#39;期间发生在两者之间?我觉得我在这里遗漏了一些东西。它以前从未发生过。当时控制器的所有功能都不可触发。我在IDE中使用调试器检查了这一点。我100%确定它是动态dataTable的问题。但我不明白为什么我在'preRenderView'
阶段使用<f:event>
启动了列控制器
同时使用&#39; id&#39;对于主索引页面中的正文并使用RequestContext进行更新只会使页面空白。
我已经为列控制器尝试了多种视图和请求范围组合,并使用了一个&#39; PreViewRender&#39; dataTable中的事件侦听器,用于启动列控制器。我所有的努力。
一个特定的组合(IIRC ** NOT **使用PreViewRender监听器导致甚至数据未在dataTable 中更新,忘记<p:commandButton>
或{{ 1}} <p:remoteCommand>
<a>
s。
由于存在大量代码并且我现在处于混乱状态,我会在您取得进展时添加代码。
答案 0 :(得分:0)
好的,我找到了答案!
https://stackoverflow.com/a/2120183/3488113
这是用户BalusC的回答,他建议的一个主要原因是JS错误。
我正在从Bean 调用一个不存在的JavaScript函数 /返回一些错误。在Bean中删除对它的引用已经解决了暂时的问题。
我假设其余的更新操作stop / frontend组件JS操作更改未加载/如果后端调用中存在JS错误,则不会加载操作本身。这是真正的原因。