【问题标题】:Howto change style of <rich:simpleTogglePanel> dependent on attribute opened?如何根据打开的属性更改 <rich:simple Toggle Panel> 的样式?
【发布时间】:2012-06-10 05:26:14
【问题描述】:
我想根据其“opened”属性的值来设置我的依赖的样式。
更具体地说:如果 opens==false 的值我想在打印输出上隐藏 simpleTogglePanel(即设置样式为 display:none)。
这样的东西(伪代码):
<rich:simpleTogglePanel opened="false" styleClass="#{ if opened then regular else hidePrint}" />
这可能吗?如何?我正在使用 Richfaces 3.3.2。!
【问题讨论】:
标签:
css
jakarta-ee
richfaces
jsf-1.2
【解决方案1】:
使用组件的渲染属性。
<rich:simpleTogglePanel rendered=#{bean.boolean} />
编辑
您的托管 bean 中应该有一个布尔属性,这样您就会知道它是否打开了您的 togglePanel。所以像
@ManagedBean
@RequestScoped
public class Bean {
private boolean opened;
//setters and getters
}
然后在您的页面上像这样更改您的 togglePanel
<rich:simpleTogglePanel opened="#{bean.opened}" rendered="#{bean.opened}">
将 bean 中的属性设置为 true 或 false,具体取决于您是否要默认隐藏 togglePanel。或者您可以在每次使用 Ajax 切换时隐藏它,将此行放在 simpleTogglePanel 标记中
<p:ajax listener="#{bean.hidePanel}" update=":panel" />
将您的面板的 id 设置为面板并将方法 hidePanel 添加到您的面板,这只是将打开的布尔值设置为 false。编辑 - 它也应该在没有那个监听器的情况下工作