我在我的项目中使用了primefaces组件。
我的问题是关于pickList组件的。
<p:pickList>
<p:ajax event="transfer" listener="#{rotaBean.operacao}" update="msg frequencia" process="pickList" partialSubmit="true"
oncomplete="if (args.validationFailed){ PF('periodoColeta').hide();} else{ PF('periodoColeta').show();}" />
</p:pickList>当我在pickList的源列表中有很多项时,就不会调用传输事件ajax。
源列表大约有2000个项目。
为什么会发生这种情况?
请帮帮我。
我昨天在primefaces社区问了这个问题。
Primefaces Community
有人能帮帮我吗?
有解决方案吗?
发布于 2017-02-18 16:57:21
我还没有测试你的代码,但我认为问题在于p:pickList在提交时同时处理所有源和所有目标,这意味着转换器为所有实体运行,如果这意味着为每个实体调用数据库,则需要很长时间。
如果您找到了一种避免处理源列表的方法,那么您将会遇到其他问题,例如,如果发生错误,那么保持dom和backing bean中的列表保持同步(至少我是这样做的)。
如果这就是问题所在,我发现最简单的解决方案就是使用OmniFaces ListConverter。它真的很好用。但这是否足够快,以转换每一次传输的所有内容,我不知道。
https://stackoverflow.com/questions/42309656
复制相似问题