2012-05-29 46 views
0

我正在开发JSF应用程序。
我最近遇到了一个问题,那就是如何在应用程序启动时hide任何attribute
对于 -
我有显示表h:panelGrid属性,但我想说明这个表点击一个checkbox只有当,在这里我能使其工作显示/隐藏,但只能从第二次起。
我想要的是当应用程序加载此视图时隐藏此表,使用h:panelGrid,后面的部分就像我告诉我已经实现的那样。
如果有人在启动时将其引用为通用皮肤,将不胜感激。最初在Web应用程序启动时隐藏属性

谢谢。

回答

0

我知道了......不知何故这样
在panelGrid中集style="visibility:hidden"
和复选框,调用javascript函数,并在那里设置

if (show) 
{ 
    obj.style.display = "block"; 
    obj.style.visibility="visible"; 
} 
else 
{ 
    obj.style.display = "none"; 
} 

它确实诀窍。
感谢Petr的帮助。

1

在该页面使用的ManagedBean中创建布尔属性并将其设置为false(例如在PostConstruct方法中)。然后用它作为你的<h:panelGrid>的渲染属性,它将被默认隐藏。

假设

@ManagedBean 
@RequestScoped 
public class Bean { 
    private boolean visible = false; 
    //setters and getters 
} 
//later on page 
<h:panelGrid rendered="#{bean.visible} /> 
+0

'rendered'属性用于告知是否可以再次渲染。这与我想要的相反。我想最初隐藏它,然后通过使用javascript显示/隐藏,后面的部分我已经完成。 – Addicted

+0

然后只需在你的h:panelPanel上设置style =“visibility:hidden”,你就可以在以后用javascript更改它 –

+0

它总是会隐藏起来。 – Addicted

相关问题