JSF - h:messages



h:messages 標籤在一個地方顯示所有與UI元素對應的訊息。

JSF 標籤

<h:messages style = "color:red;margin:8px;" /> 

渲染輸出

案例:輸入的使用者名稱超過20個字元,輸入的密碼少於5個字元。

<ul style = "color:red;margin:8px;"> 
   <li> UserName: Validation Error:  
      Length is greater than allowable maximum of '20' </li> 
   <li> Password: Validation Error:  
      Length is less than allowable minimum of '5' </li> 
</ul> 

標籤屬性

序號 屬性及描述
1

id

元件識別符號

2

binding

對可在支援Bean中使用的元件的引用

3

rendered

布林值;false 抑制渲染

4

styleClass

層疊樣式表 (CSS) 類名

5

for

顯示其訊息的元件的ID,僅適用於 h:message

6

errorClass

應用於錯誤訊息的CSS類

7

errorStyle

應用於錯誤訊息的CSS樣式

8

fatalClass

應用於嚴重錯誤訊息的CSS類

9

fatalStyle

應用於嚴重錯誤訊息的CSS樣式

10

globalOnly

僅顯示全域性訊息的指令,僅適用於 h:messages。預設值:false

11

infoClass

應用於資訊訊息的CSS類

12

infoStyle

應用於資訊訊息的CSS樣式

13

layout

訊息佈局規範:表格或列表,僅適用於 h:messages

14

showDetail

布林值,決定是否顯示訊息詳細資訊。h:messages 的預設值為 false,h:message 的預設值為 true

15

showSummary

布林值,決定是否顯示訊息摘要。h:messages 的預設值為 true,h:message 的預設值為 false

16

tooltip

布林值,決定是否在工具提示中渲染訊息詳細資訊;僅當 showDetail 和 showSummary 為 true 時才渲染工具提示

17

warnClass

警告訊息的CSS類

18

warnStyle

警告訊息的CSS樣式

19

style

內聯樣式資訊

20

title

標題,用於輔助功能,描述元素。視覺化瀏覽器通常會為標題的值建立工具提示

示例應用程式

讓我們建立一個測試 JSF 應用程式來測試上述標籤。

步驟 描述
1 按照JSF - 第一個應用程式章節中的說明,在com.tutorialspoint.test包下建立一個名為helloworld的專案。
2 如下所述修改home.xhtml。保持其餘檔案不變。
3 編譯並執行應用程式,以確保業務邏輯按要求工作。
4 最後,將應用程式構建為 war 檔案,並將其部署到 Apache Tomcat Web 伺服器。
5 使用如下最後一步中說明的適當 URL 啟動您的 Web 應用程式。

home.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns = "http://www.w3.org/1999/xhtml"> 
   <head> 
      <title>JSF Tutorial!</title> 
   </head>
   
   <body> 
      <h2>h:messages example</h2> 
      <hr /> 
      
      <h:form> 
         <h:panelGrid id = "panel" columns = "2" border = "0" cellpadding = "10"  
         cellspacing = "1">   
            <h:outputLabel value = "Enter Username" /> 
            
            <h:inputText  id = "username"  size = "20" label = "UserName"  
               required = "true"> 
               <f:validateLength for = "username" minimum = "5" maximum = "20" />    
            </h:inputText>         
            <h:outputLabel value = "Enter Password" /> 
            
            <h:inputSecret id = "password" size = "20" label = "Password"  
               required = "true" redisplay = "true" > 
               <f:validateLength for = "password" minimum = "5" maximum = "10" />  
            </h:inputSecret>         
            <h:commandButton id = "submit" value = "Submit" action = "result"/> 
         </h:panelGrid> 
         <h:messages style = "color:red;margin:8px;" /> 
      </h:form> 
   
   </body> 
</html> 

完成所有更改後,讓我們像在 JSF - 第一個應用程式章節中所做的那樣編譯並執行應用程式。如果您的應用程式一切正常,這將產生以下結果

JSF h:messages
jsf_basic_tags.htm
廣告