【发布时间】:2013-12-12 13:35:50
【问题描述】:
我正在努力将参数 playerName 和 clubName 发送到 forEach 循环。它们是用 commandButton 正确发送的,所以我确信它们中有值。但似乎他们没有及时评估 forEach ???如您所见,变量未保存在 bean 中。
<h:panelGrid columns="2">
<h:outputText value="Spelare"></h:outputText>
<h:selectOneMenu id="playerMenu" value="#{playerName}">
<f:selectItems value="#{serviceHCP.allPlayers}" />
</h:selectOneMenu>
<h:outputText value="Klubb"></h:outputText>
<h:selectOneMenu id="ClubMenu" value="#{clubName}">
<f:selectItems value="#{serviceHCP.clubs}" />
</h:selectOneMenu>
</h:panelGrid>
Players
<c:forEach var="list" items="#{serviceSeries.getSeriesForPlayer(clubName, playerName)}">
<--- More code --->
</c:forEach>
<h:commandButton value="Spara" action="#{serviceHCP.saveSerieTotal(clubName, playerName, serieName, noSeries, serie) }"></h:commandButton>
【问题讨论】:
-
嗯?你是从哪里学会用这种奇怪而无效的方式编写 JSF 的?只需将它们设为正常的 bean 属性即可。不要将模型和控制器的工作紧密耦合到视图中。不要在 getter 方法中执行业务逻辑。
-
看不出这种方式有什么低效之处。如您所见,我将变量传递到应用程序的不同区域。为传递变量创建一个新类对我来说似乎非常低效。