0
Вот мой XHTML код:ч: selectOneMenu вместе с й: selectItems всегда возвращает 0
<h:selectOneMenu id="combo" value="#{TeamsHinzufuegenBean.selectedLeagueId}">
<f:selectItems value="#{TeamsHinzufuegenBean.leagues}"
var="league" itemValue="#{league.id}"
itemLabel="#{league.name}"/>
</h:selectOneMenu>
И мой боб:
@ManagedBean(name = "TeamsHinzufuegenBean")
@ViewScoped
public class TeamsHinzufügenBean implements Serializable{
private static final long serialVersionUID = 1L;
private List<League> leagues;
private ArrayList<Team> teams = new ArrayList<Team>();
private String teamname;
private int selectedLeagueId=1;
@PostConstruct
public void init() {
leagues = Database.getInstance().getAllLeagues();
for(League l : leagues)
System.out.println(l);
}
public List<League> getLeagues() {
return leagues;
}
public void setLeagues(List<League> leagues) {
this.leagues = leagues;
}
public int getSelectedLeagueId() {
return selectedLeagueId;
}
public void setSelectedLeagueId(int selectedLeagueId) {
this.selectedLeagueId = selectedLeagueId;
}
public ArrayList<Team> getTeams() {
return teams;
}
public void setTeams(ArrayList<Team> teams) {
this.teams = teams;
}
public String getTeamname() {
return teamname;
}
public void setTeamname(String teamname) {
this.teamname = teamname;
}
}
Лига-класс имеет атрибут id
, но если я вывожу значение selectedLeagueId
, оно всегда 0.
выглядит как по умолчанию 'selectedLeagueId'. Вы должны устранить проблемы, связанные с жизненным циклом и настройками вашего компонента. Опубликуйте больше своего компонента здесь – kolossus
Вы меняете представление/переходите на другую страницу? –
В соответствии с 'itemValue =" # {league.id} "и' itemLabel = "# {league.name}" ', ясно, что' List 'содержит список составных/сложных объектов. В этом случае вам нужно реализовать собственный конвертер и привязать его к ' ' (' ' или что-то еще). '' будет выглядеть примерно так:
Tiny