我想设置我依赖于“open”属性值的样式。 更具体一点:如果open == false的值我想在打印输出上隐藏simpleTogglePanel(即将样式设置为display:none)。
这样的事情(伪代码):
<rich:simpleTogglePanel opened="false" styleClass="#{ if opened then regular else hidePrint}" />
这可能吗?怎么样?我正在使用Richfaces 3.3.2。!
答案 0 :(得分: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添加到面板,该面板仅将boolean设置为false。编辑 - 它也应该在没有该监听器的情况下工作