我有一个包含PrimeFaces(2.2.1)编辑器组件,刷新按钮和selectOneMenu的页面,其选择会影响编辑器的内容,如下所示:
<p:editor id="uploadedText" value="#{facilityDataUploadBean.uploadedText}"
width="600" height="180" disabled="true" controls="" />
<h:commandButton value="Refresh" immediate="true" />
<h:selectOneMenu id="skipLines" styleClass="dropdown"
value="#{facilityDataUploadBean.skipLines}">
<f:selectItems value="#{facilityDataUploadBean.skipLinesList}" />
<f:ajax listener="#{facilityDataUploadBean.importParameterChanged}" />
</h:selectOneMenu>
Run Code Online (Sandbox Code Playgroud)
facilityDataUploadBean.importParameterChanged
更新facilityDataUploadBean.uploadedText
.更改selectOneMenu值后,操作员按下Refresh按钮刷新页面,包括内容p:editor
.(我不能简单地刷新p:editor
使用AJAX,因为它不能正确地重新渲染,至少在PF 2.2.1中.)
看起来我应该能够在selectOneMenu
值改变时自动完成页面刷新,但是我无法想出能够做到这一点的属性和事件的组合.我已经试过的各种组合onchange="submit();"
,immediate="true"
并且valueChangeListener
对selectOneMenu
,还有execute="@all/@form"
,render="@all/@form"
对f:ajax
事件,都无济于事.我当前的解决方法是显示一条消息,要求用户在更改selectOneMenu
选择时按"刷新"按钮- 非常好.
调用window.location.replace(window.location.href)
而不是submit()
在onchange
事件中,如:
<h:selectOneMenu id="skipLines" ... onchange="window.location.replace(window.location.href);">
<f:selectItems ... />
<f:ajax ... />
</h:selectOneMenu>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
20587 次 |
最近记录: |