Primefaces 3.5 selectCheckBoxMenu调用事件onShow

时间:2013-02-19 09:38:34

标签: java jsf jsf-2 primefaces

我有一个包含几个条件的页面,当我尝试打开selectCheckBoxMenu时,我希望从服务器调用该方法但我得到一些奇怪的东西。我的项目列表不会一直显示和抽搐。

<p:selectCheckboxMenu id="scroll"
                                              value="#{adminManageTournamentController.teamListSelected}"
                                              label="#{msg.teams}" filter="true" filterText="Filter"
                                              filterMatchMode="startsWith" panelStyle="width:auto"
                                             onShow="sourceFilterCommand();">
                            <f:selectItems value="#{adminManageTournamentController.teamList}"
                                           var="team" itemLabel="#{team.name}"
                                           itemValue="#{team.id}"/>
                            <p:column>
                                #{team.name}
                            </p:column>
                            <p:remoteCommand name="sourceFilterCommand" update="scroll"
                                             actionListener="#{adminManageTournamentController.selectTeamsByConditions}"/>
                        </p:selectCheckboxMenu>

我选择了正确的决定方式吗?如何摆脱抽搐名单?

1 个答案:

答案 0 :(得分:0)

这些抽搐的原因可能是无限循环。当显示p:selectCheckboxMenu时,会调用远程命令,并且p:selectCheckboxMenu会更新并再次显示,并再次调用远程命令......这永远不会结束。您正在更新onShow中的组件,这很奇怪。当更新条件发生变化时,您可能应该这样做,这不是您应该更新组件的地方。如果此p:selectCheckboxMenu例如依赖于某些p:selectOneMenu,则会在p:selectOneMenu的值更改时对其进行更新。