首先让我说我至多是一个中级JSF编码器。 现在我在当前项目中有一些奇数问题,并且它真的开始找到我了。
环境正在创造足球比赛。
我有3个玩家列表。想法是用户从第一个列表中选择一个玩家,然后按下“Benched”按钮将玩家添加到长凳列表或“Starting”按钮以选择玩家位置然后将玩家添加到起始列表
(我会张贴一张照片,但我不允许:()
现在我的问题是每当我使用“开始”按钮时,它会使“Benched”按钮完全无用(我没有错误,但是没有调用action方法)。所以我可以添加尽可能多的球员到替补席开始,但是当我按下“开始”按钮时我就无法替补更多球员。我仍然可以使用“开始”按钮。
这是我的代码:
<h:form id="matchForm">
<h:panelGroup id="updatePlayers">
<div class="myContainer">
<div class="myMatchBox">
<h:outputLabel value="Pick a player:" />
<p:selectOneListbox styleClass="heightClassPick myEditMatchPlayers myPickListOnEditMatches" filter="true" filterMatchMode="contains">
<f:selectItems value="#{manageMatchesBean.geteAllUsablePlayersOne()}" var="p" itemLabel="#{p.split('#')[0]} - #{p.split('#')[2]}" itemValue="#{p}"/>
<p:ajax event="valueChange" listener="#{manageMatchesBean.changeEPickedPlayerOne}" immediate="true"/>
</p:selectOneListbox>
<h:outputLabel style="display:block;" value="Add it to:" />
<p:commandButton styleClass="myMatchCommandButton" value="Starting" update="posdlg0table" oncomplete="PF('posdlg0').show();return false;"/>
<p:dialog header="Choose a position" widgetVar="posdlg0" modal="true" minHeight="40" resizable="false">
<h:dataTable id="posdlg0table" value="#{manageMatchesBean.getPickedPlayerPositionsOne()}" var="pos">
<h:column>
<p:commandButton value="#{pos.split('#')[0]}" update=":matchForm:updatePlayers" action="#{manageMatchesBean.eAddToStartingOne(pos.split('#')[1])}" process="@this" oncomplete="PF('posdlg0').hide();"/>
</h:column>
</h:dataTable>
</p:dialog>
<p:commandButton styleClass="myMatchCommandButton" value="Benched" update=":matchForm:updatePlayers" action="#{manageMatchesBean.eAddToBenchedOne()}" process="@this"/>
</div>
</div>
</h:panelGroup>
</h:form>
如果我遗漏了某些内容,或者你想看到java代码让我知道,我也会发布它。
我很绝望!
提前致谢。
答案 0 :(得分:0)
显然我解决了..经过几个小时的尝试解决这个问题后,我退出并在这里写了这个问题,写完后1小时内我发现我的java代码中有一个小错误。是的,显然这个方法被称为。无论如何。现在它有效。感谢。