Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf h:SelectOne菜单和f:selectItems始终返回0_Jsf_Selectonemenu - Fatal编程技术网

Jsf h:SelectOne菜单和f:selectItems始终返回0

Jsf h:SelectOne菜单和f:selectItems始终返回0,jsf,selectonemenu,Jsf,Selectonemenu,以下是我的XHTML代码: <h:selectOneMenu id="combo" value="#{TeamsHinzufuegenBean.selectedLeagueId}"> <f:selectItems value="#{TeamsHinzufuegenBean.leagues}" var="league" itemValue="#{league.id}" itemLabel="#{l

以下是我的XHTML代码:

<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;
    }
}

league类有一个属性id,但是如果我输出selectedLeagueId的值,它总是0。

检查getAllLeagues是否包含具有id的对象,并且是否正确设置了该id

看起来像selectedLeagueId的默认值。您应该对bean的生命周期和setter进行故障排除。是否更改视图/导航到另一个页面?根据itemValue={league.id}和itemLabel={league.name},很明显列表包含复合/复杂对象的列表。在这种情况下,您需要实现一个自定义转换器并将其附加到或其他任何组件。然后会像这样。不,我不改变视图。@Tiny不正确:您不需要实现转换器。selectOneMenu绑定到int,itemValue也设置为int,因此不需要实现转换器。