如何在加载时隐藏RichFaces组件?

时间:2010-02-27 21:04:23

标签: java jsf richfaces

我想在页面加载时隐藏选定的渲染组件(例如:label)。这为用户操作后随后显示组件提供了机会(例如:当用户单击链接时)。

以下是示例:

<a4j:outputPanel id="myPanel">
    <h:outputText value="Text 1" />
    <h:outputText value="Text 2" />
</a4j:outputPanel>
<a4j:commandLink ajaxSingle="true" onclick="#{rich:component('myPanel')}.show()">
    <h:outputText value="Show panel"/>
</a4j:commandLink>

Panel myPanel应该在开头(页面加载后)隐藏,并且应该在用户点击链接时显示。

你能告诉我如何做到这一点吗?

谢谢, 拉法尔

1 个答案:

答案 0 :(得分:1)

以下是来自RichFaces论坛的解决方案,该方法运行良好。

CSS:

.hideOnLoad {
    display: none;
}

页面片段:

<a4j:outputPanel id="myMessage" styleClass="hideOnLoad">
    <h:outputText value="This is my first message" />
    <h:outputText value="This is my second message" />
</a4j:outputPanel>
<br/>
<a4j:commandLink ajaxSingle="true"
    onclick="$('myMessage').removeClassName('hideOnLoad');"
    value="Show my message" />