【问题标题】:Update value of other input components on change of h:selectOneMenu更改 h:selectOneMenu 时更新其他输入组件的值
【发布时间】:2015-09-08 16:57:01
【问题描述】:

我有一个 JSF 2.2 表单,其中包含一个 <h:selectOneMenu>、输入和 4 个按钮来调用 CRUD 方法。为了实现绑定,我使用了valueChangeListener,因此当我从<h:selectOneMenu> 中选择id 时,我调用了一个方法来更新链接到输入的对象。问题是输入不会改变它们的值。

表格

<h:selectOneMenu value="#{avocatBurController.numProf}"
                 valueChangeListener="#{avocatBurController.handelValueCahnge}" onchange="submit()">
    <f:selectItems value="#{avocatBurController.lstAvocatbureau}" var="avcBur"
                   itemValue="#{avcBur.avocat.numProf}" itemLabel="#{avcBur.avocat.nom}" />
</h:selectOneMenu>

<h:inputText value="#{avocatBurController.avc.prenom}" />
<h:inputText value="#{avocatBurController.avc.nom}" />
...

托管豆

    public void handelValueCahnge(ValueChangeEvent event) {
        String numProf = (String) event.getNewValue();
        AvocatBurDao avcBurDao = new AvocatBurDao();
        avcBur = avcBurDao.getAvocatBur(numProf);
        avc = avcBur.getAvocat();
        System.out.println(avc.getNom());
    }

avc.getNom() 包含一个值,但输入不包含。

【问题讨论】:

    标签: jsf selectonemenu valuechangelistener


    【解决方案1】:

    valueChangeListener 是在当前输入发生变化时更新其他输入组件的值的错误工具。有一些方法,但它们是基于在不存在 ajax 的黑暗 JSF 1.x 时代发明的黑客/技巧。

    由于您已经在使用 JSF 2.x,因此请立即使用 ajax。

    <h:selectOneMenu value="#{avocatBurController.numProf}">
        <f:selectItems value="#{avocatBurController.lstAvocatbureau}" var="avcBur"
                       itemValue="#{avcBur.avocat.numProf}" itemLabel="#{avcBur.avocat.nom}" />
        <f:ajax listener="#{avocatBurController.handleValueChange}" render="@form" />
    </h:selectOneMenu>
    
    public void handleValueChange() {
        AvocatBurDao avcBurDao = new AvocatBurDao();
        avcBur = avcBurDao.getAvocatBur(numProf);
        avc = avcBur.getAvocat();
    }
    

    另见:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 2016-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多