JSF ajax从下拉列表重新加载整个页面

时间:2013-03-14 13:22:39

标签: ajax jsf drop-down-menu

<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。

2 个答案:

答案 0 :(得分:11)

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

如果是异步,请指定@all的渲染。

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

如果同步,请通过JS <f:ajax>调用替换form.submit()

<h:selectOneMenu ... onchange="this.form.submit()">

答案 1 :(得分:1)

您可以通过在render="@all"代码中设置f:ajax属性来完成此操作:

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

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