JSF selectOneMenu值改变了事件触发帮助(Java Server Faces)

时间:2014-03-09 16:19:19

标签: java ajax jsf events selectonemenu

我希望在selectOneMenu的选定值发生变化时触发Ajax事件。

我们的想法是根据新值更新textArea。

    <h:form id="selectForm">
        <h:graphicImage id="carImage">
        </h:graphicImage>
        <h:selectOneMenu id="carList" value="#{RequestBean.index}">
            <f:selectItems value="#{CarInfoBean.allCarNames}" itemLabel="#{CarInfoBean.carNumber}" />
            <f:ajax  render="carDescription"/>
        </h:selectOneMenu>
        <br/>

        <h:inputTextarea id="carDescription" value="#{RequestBean.infoString}" readonly="true" >
        </h:inputTextarea>
    </h:form>

我很困惑的部分是我如何触发事件。我是否需要select标签中的valueChangeListener?我是否为selectOneMenu的change属性设置了一些内容,还是可以在某种程度上指定ajax标记中的触发事件?

谢谢, Sam French

1 个答案:

答案 0 :(得分:1)

ajax-Listener应该做的事情:

<h:selectOneMenu ...>
    ...
     <f:ajax event="change" execute="@this"  listener="#{CarInfoBean.foo()}" render="carDescription" />
</h:selectOneMenu>

(注意:您必须使用 update 属性,因为呈现属性执行something different。)