JSF <h:selectOneMenu> 不保存我的选择



我正在使用JSF,想从下拉列表中保存一个选择,但它没有保存,我该怎么办?

xhtml:

<h:form>
<h:selectOneMenu value="#{spielController.ausgewaehlteKategorie}"  >
<f:selectItems value="#{spielController.alleKategorien}"/>
</h:selectOneMenu>
</h:form>
<br/>
<h:form>
<h:commandButton action="#{spielController.ladeFrage()}" value="Spielen"/>
</h:form> 

BackingBean:

@Named(value = "spielController")
@SessionScoped
public class SpielController implements Serializable {
private String ausgewaehlteKategorie;
private ArrayList<String> alleKategorien = new ArrayList<>();
public SpielController() throws SQLException {
for (String kategorie : kdao.getKategorien()) {
alleKategorien.add(kategorie);
}
}

public String getAusgewaehlteKategorie() {
return ausgewaehlteKategorie;
}
public void setAusgewaehlteKategorie(String ausgewaehlteKategorie) {
this.ausgewaehlteKategorie = ausgewaehlteKategorie;
}

public ArrayList<String> getAlleKategorien() {
return alleKategorien;
}
public void setAlleKategorien(ArrayList<String> alleKategorien) {
this.alleKategorien = alleKategorien;
}
}

我从一个DAO类中获取东西,它可以工作,但当我按下按钮时,它不起作用,因为我在上面做出的选择没有保存

移动

<h:commandButton action="#{spielController.ladeFrage()}" value="Spielen"/>

到h:形成

<h:form>
<h:selectOneMenu value="#{spielController.ausgewaehlteKategorie}"  >
<f:selectItems value="#{spielController.alleKategorien}"/>
</h:selectOneMenu>
<br/>
<h:commandButton action="#{spielController.ladeFrage()}" value="Spielen"/>
</h:form> 

这就是为什么您的setter没有被调用的原因。

相关内容

  • 没有找到相关文章

最新更新