gpt4 book ai didi

java - Richfaces poupPanel 在操作执行之前显示

转载 作者:行者123 更新时间:2023-11-30 11:51:19 24 4
gpt4 key购买 nike

我有如下所示的 JSF 2.0 表单

<h:form id="formId">
.
.
.
<a4j:commandButton action="#{bean.myAction}" value="foo" oncomplete="#{rich:component('popup')}.show();" />
</form>
<rich:popupPanel id="popup" modal="false" autosized="true"
resizeable="false">

<h:form id="form2">
<h:panelGrid columns="1" >
<h:outputText id="idText" value="#{bean.message}" />
<h:commandButton action="#" onclick="#{rich:component('popup')}.hide(); return false;" value="ok"/>
</h:panelGrid>
</h:form>

</rich:popupPanel>

和bean方法

 public String action(){
message = "Some message";
return "";
}

点击按钮“ Action ”和弹出显示都被执行,但看起来调用弹出窗口是先执行的。我从 bean 构造函数而不是更改后的构造函数那里得到消息。您是否知道如何延迟弹出显示操作(它已经在 oncomplete 属性下)?是否有适合此处的常规模式(操作动态更改弹出面板的内容,弹出窗口应该类似于结果消息)。或者也许有一种方法可以从 java 代码(例如从 bean.action)调用弹出显示?谢谢

最佳答案

您需要重新渲染 <rich:popupPanel> s 的内容优先,否则它仍然显示第一次渲染时的内容。即,您正在通过 JavaScript 重新显示已呈现但被 CSS 隐藏的内容。

<a4j:commandButton render=":popup:form2" ... />

关于java - Richfaces poupPanel 在操作执行之前显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7544118/

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