3
<h:selectOneMenu id="dropdownDevice"
        value="#{skinningBean.currentDevice}" converter="SkinConverter">
        <f:selectItems value="#{skinningBean.myDevicesSI}" var="c"
            itemValue="#{c}" />
        <f:ajax event="change" render="preview" />
</h:selectOneMenu>

是否可以在此下拉列表中重新加载整个页面?我需要这个,因为,选择另一台设备时,我还需要重新加载JavaScript。

4

2 回答 2

14

您不清楚是否要同步或异步执行它。

如果是异步的,请指定@all.

<f:ajax ... render="@all" />

如果是同步的,用<f:ajax>JSform.submit()调用替换。

<h:selectOneMenu ... onchange="this.form.submit()">
于 2013-03-14T13:25:20.093 回答
1

您可以通过在标签中设置render="@all"属性来简单地做到这一点:f:ajax

<f:ajax render="@all" />

您可以删除event="change",因为它是默认的。

于 2013-03-14T13:25:02.200 回答