【问题标题】:How to set <selectOneMenu> value to bean variable?如何将 <selectOneMenu> 值设置为 bean 变量?
【发布时间】:2012-09-05 08:15:36
【问题描述】:

我正在尝试使用 bean setter 设置 &lt;h:selectOneMenu&gt; 的值,但它不起作用。这是我的 .xml 代码:

   <h:selectOneMenu value="#{adminActionController.tempBean.selectType}">
      <f:selectItem itemLabel="Check" itemValue="Check" />
      <f:selectItem itemLabel="Cash" itemValue="Cash"/>
      <f:ajax event="change" listener="#{adminActionController.tempBean.changeType}"/>
   </h:selectOneMenu>

这是我的 bean 代码:

protected String selectType;

public String getSelectType() {
    return selectType;
}

public void setSelectType(String selectType) {
    this.selectType = selectType;
}

我尝试了很多方法,但仍然缺少一些东西。我不知道是什么。 它将h:inputText 值设置为bean,但下拉值有问题。 有人可以帮帮我吗?

【问题讨论】:

    标签: jsf jsf-2 selectonemenu


    【解决方案1】:

    尝试不使用 immediate="true"。并且 selectOneMenu 必须在 h:form 内。当 selectOneMenu 更改时,您的侦听器正在工作,对吧?

    【讨论】:

    • 在 h:form 里面是 :datatable :rowexpansion :selectOneMenu 并且我的 :ajax 监听器也没有点击 onChange 事件。在同一页面上:inputText 它正在工作(设置值)这个标签的 bt 问题
    • 来自同一个 bean 的监听器_____ public void changeType(AjaxBehaviorEvent event) { System.out.println("tempBean:&&&&&&&&&&&&&&&&&&&&&&"); System.out.println("cubeChanged:" + ((HtmlSelectOneMenu) event.getComponent()).getSubmittedValue()); }
    • 尝试删除 AjaxBehaviorEvent 作为参数并尝试。
    • 没有 AjaxBehaviorEvent,它应该是 tomcat 中的 S.O.P msg .. 但它没有显示
    猜你喜欢
    • 1970-01-01
    • 2021-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多