2013-02-21 91 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