gpt4 book ai didi

jsf-2 - 如何在 JSF 中刷新 selectOneMenu 选择页面?

转载 作者:行者123 更新时间:2023-12-01 11:00:38 24 4
gpt4 key购买 nike

我有一个包含 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>

facilityDataUploadBean.importParameterChanged 更新 facilityDataUploadBean.uploadedText。更改 selectOneMenu 值后,运算符(operator)按下刷新按钮刷新页面,包括 p:editor 的内容。 (我不能简单地使用 AJAX 刷新 p:editor,因为它不能正确重新呈现,至少在 PF 2.2.1 中是这样。)

似乎我应该能够在 selectOneMenu 值更改时自动完成页面刷新,但我一直无法想出可以实现的属性和事件组合那。我在 selectOneMenu 上尝试了 onchange="submit();"immediate="true"valueChangeListener 的各种组合,以及 execute="@all/@form"render="@all/@form"f:ajax 事件,都无济于事。我目前的解决方法是显示一条消息,要求用户在更改 selectOneMenu 选择时按刷新按钮 - 非常矫揉造作。

最佳答案

onchange 事件中调用 window.location.replace(window.location.href) 而不是 submit(),如下所示:

<h:selectOneMenu id="skipLines" ... onchange="window.location.replace(window.location.href);">
<f:selectItems ... />
<f:ajax ... />
</h:selectOneMenu>

关于jsf-2 - 如何在 JSF 中刷新 selectOneMenu 选择页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11126837/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com