下拉框,在下一页显示选择

时间:2017-01-02 12:22:19

标签: java html database jsf glassfish

我正在尝试创建一个下拉框,它从Glassfish服务器上保存的数据库中获取选择。我成功实现了这一目标。下一步是让用户的选择出现在下一页上。我试图这样做

的index.xhtml

<h:selectOneMenu value="#{mealBean.monLunch}">
    <f:selectItems value="#{mealBean.getMealsByTime('Lunch')}"/>
</h:selectOneMenu>

有一个命令按钮链接到index.xhtml中的results.xhtml,如下所示

public String monLunch;
public String monDinner;

public String getMonLunch() {
    return monLunch;
}

public void setMonLunch(String monLunch) {
    this.monLunch = monLunch;
}
public void setMonDinner(String monDinner) {
    this.monDinner = monDinner;
}
public String getMonDinner() {
    return monDinner;
}

然后在results.xhtml

#{mealBean.monLunch}

我的问题是,当我点击命令按钮时,数据不会出现在新页面上。有办法解决这个问题吗?任何帮助,将不胜感激。 先谢谢你了

1 个答案:

答案 0 :(得分:1)

您应该使用@ManagedBean(name = "mealBean")而不是@Named(value = "mealBean")来注释您的bean。

javax.inject.Named等CDI注释与JSF注释(如javax.faces.bean.SessionScopedjavax.faces.bean.ManagedBean)混合使用并不是一个好习惯。

这样你就可以删除无用的@Dependent