jsf - JSF不保存我的选择
问题描述
我正在使用 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>
支持豆:
@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 类中得到了东西,它可以工作,但是当我按下按钮时,它不起作用,因为我上面所做的选择没有保存
解决方案
Move
<h:commandButton action="#{spielController.ladeFrage()}" value="Spielen"/>
to h:form
<h:form>
<h:selectOneMenu value="#{spielController.ausgewaehlteKategorie}" >
<f:selectItems value="#{spielController.alleKategorien}"/>
</h:selectOneMenu>
<br/>
<h:commandButton action="#{spielController.ladeFrage()}" value="Spielen"/>
</h:form>
This is the reason why your setter not invoked.
推荐阅读
- python - snmp 响应程序安装错误:错误:找不到满足要求 pysnmp>=5.0.0 的版本(来自 snmpresponder)
- javascript - 如何映射对象并在对象 javascript/reactjs 中呈现数组?
- c# - 使用jquery mvc 4上传pdf文件
- python-3.x - Tkinter 错误:动态删除帧时窗口路径名错误
- python - AuthorizationError:无法在 google Colab 中获取用户凭据
- r - 如何检查向量是否是没有长度警告且没有抑制的单个 NA 值
- python - Python中具有try/except语句的单元测试函数
- video - 如何在颤动中缓存视频
- laravel - 如何从 store 方法中获取上传的图片名称
- python-3.x - 通过 apche wsgi 运行 python3 代码时显示 ascii 编解码器错误