2013-02-21 87 views
0

如果输出层(如果这是正确的术语)是空的,当信息/错误消息被写入时,它可以隐藏起来,它会扩展为适合消息所需的高度,垂直拉伸它所包含的面板的高度? (可能使用CSS?)JSF 2.x空时隐藏消息层

<h:body> 
    <ace:panel> 
... 
... 
    <h:panelGroup> 
     <h:messages 
     infoStyle="color:darkgreen" 
     errorStyle="color:darkred"> 
     </h:messages> 
    </h:panelGroup> 
    </ace:panel> 
</h:body> 
+0

''根本不存在。难道你不是真的在使用PrimeFaces,而是错误地过度泛化,就好像它是标准的JSF一样?请不要这样做。你应该发布实际的代码,而不是创建红鲱鱼​​。回到你的具体问题,你的意思是你想在没有消息时隐藏虚构的''吗? – BalusC 2013-02-21 14:04:58

+0

Opps。新手错字。并不是要推广。我正在使用一些漂亮的ICEFaces组件。这是一个已纠正我的帖子。纠正你的第二个问题。有了我制作的测试应用程序,目前有些错误消息有点冗长。我想到的是在没有消息时隐藏。当消息被写出时,它可以伸展(如果消息非常大,甚至可能引入滚动条)。或者也许是实现这一目标的更好方法? – JetStream 2013-02-21 14:48:57

回答

1

只要所有消息是由一个相同的<h:messages>处理,你可以只检查是否FacesContext#getMessageList()不为空。

<ace:panel rendered="#{not empty facesContext.messageList}"> 
+0

谢谢@BalusC。一个很好的解决方案的优点在于它的简单性!我在包含消息的panelGroup中使用了呈现的子句。 – JetStream 2013-02-22 10:30:07