我在理解播放器变量的范围时遇到了问题。这将有效。
<h:selectOneMenu id="playerMenu" value="#{player.firstName}" onchange="submit();"
valueChangeListener="#{player.eventNameChanged}">
<f:selectItems value="#{serviceHCP.allPlayers}" />
</h:selectOneMenu>
<h:outputText value="#{player.combinedName}"></h:outputText>
这将正确地将outputText设置为playerCombined名称。在事件方法中设置。
它也适用于此
<h:commandButton value="Visa lista" action="#{serviceSeries.getSeriesForPlayerInfo(club.name, player.firstName, serieType.serie_type, calendarBean) }">
</h:commandButton>
但我不明白为什么我不能发送播放器而不是播放器.firstName?如果我发送播放器,它将始终为空。如果我发送player.firstName,它就会被正确实例化。如果我做player.combinedName,我也无法工作。看起来他们是两个完全不同的班级实例。
当代码的这部分完成我想要的时候,这让我更加困惑。然而,这是一个主要组成部分,所以我不知道这是否与它有关?
<p:calendar value="#{calendarBean.date1}" id="popupButtonCal" showOn="button" pattern="yyyy-MM-dd HH:mm:ss" >
</p:calendar>
public List<Player> getAllPlayers() {
if (factory == null) {
factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
}
EntityManager em = factory.createEntityManager();
//Order by the matchdate.
//Query q = em.createQuery("select t from DBTest t");
Query q = em.createQuery("select t from Player t");
List<Player> players = q.getResultList();
for (Player aPlayer : players) {
System.out.println(aPlayer);
}
System.out.println("Size: " + players.size());
em.close();
return players;
}