gpt4 book ai didi

java - 如何通过 Controller 显示组件?

转载 作者:太空宇宙 更新时间:2023-11-04 08:30:55 25 4
gpt4 key购买 nike

我需要注册一个用户,之后我想调用 <rich:popupPanel>例如,用图标显示错误或成功消息。

<rich:popupPanel id="popup" modal="false" autosized="true" resizeable="false">
<f:facet name="header">
<h:outputText value="Simple popup panel" />
</f:facet>
<f:facet name="controls">
<h:outputLink value="#"
onclick="#{rich:component('popup')}.hide(); return false;">
X
</h:outputLink>
</f:facet>
<p>Any content might be inside this panel.</p>
</rich:popupPanel>

在 Controller 中验证注册过程后,我该如何执行此操作?我可以调用<h:message> ,但我认为带有一些图标和状态消息的 popupPanel 会更适合用户。

最佳答案

一般来说,您只需在 bean 的操作方法中设置一些( boolean )切换或特定对象属性,然后在 rendered 中使用该属性。相关包含组件的属性。这是一个带有简单 boolean 值的示例:

private boolean success;

public void submit() {
// ...

success = true;
}

public boolean isSuccess() {
return success;
}

<rich:popupPanel rendered="#{bean.success}">
...
</rich:popupPanel>

您还可以设置一些对象属性,然后检查它是否不为空或为 null。例如。当 User注册后成功保存,从而从DB中得到一个ID:

<rich:popupPanel rendered="#{not empty bean.user.id}">
...
</rich:popupPanel>

注意:在您的 <rich:popupPanel> 的特殊情况下,您还可以使用show属性而不是 rendered属性。

<rich:popupPanel show="#{bean.success}">
...
</rich:popupPanel>

唯一的区别是当show时是 false ,组件仍会呈现,但随后使用 CSS display:none;这样它就在视觉上隐藏在 HTML DOM 树中,以便您只需使用 JavaScript 即可重新显示它。

另请参阅:

关于java - 如何通过 Controller 显示组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7541808/

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