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

Drop Down Box, show choice in next page

我正在尝试制作一个下拉框,它从 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}

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

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

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

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