訊息可以分為兩種:一種是應用程式錯誤(比如應用程式邏輯錯誤,資料庫錯誤,連線錯誤等等),另一種是使用者輸入錯誤(比如文字框輸入校驗和空值校驗等等)。
應 用程式錯誤一般會產生乙個新的頁面以便顯示錯誤訊息;而使用者輸入錯誤一般會回顯原來的頁面,然後把錯誤資訊顯示在乙個文字中。通常你需要在不同的頁面丟擲 相同的錯誤資訊,所以你必須保證對於同樣的錯誤使用者看到的訊息是一樣的。你一定不希望在乙個頁面中向使用者顯示「請輸入**號碼」而在另乙個頁面中卻顯示 「**號碼是必須輸入的」這樣的訊息。
jsf提供了訊息機制來處理這一問題。乙個訊息包含了:摘要資訊、詳細資訊和錯誤級別資訊。訊息可以自動定製為使用者當期所使用的語言。你的應用程式中任何
ui元件、校驗器、轉換器、事件和***都可以加入訊息。你可以通過元件或者應用程式**來控制當期的訊息輸出。
訊息不一定非要顯示錯誤資訊,他們同樣可以用於顯示其他資訊。比如事件***可以增加乙個顯示記錄被成功儲存的訊息。訊息本身可以關聯到乙個特定的元件(比如輸入錯誤)也可以是應用程式級的訊息。
你可以通過
htmlmessage元件為乙個特定的元件增加顯示錯誤資訊的供。你一定還記得
hello wold 應用成中的
htmlmessage元件吧:
上面這個標籤會顯示所有由
helloinput元件產生的錯誤訊息。你也可以使用
htmlmessage元件顯示非
ui元件的訊息。
訊息機制提供了一種適當的方法向使用者顯示錯誤資訊或者其他資訊。訊息是
jsf校 驗器的內部型別,一旦校驗錯誤就會向產生乙個錯誤訊息。當你向希望向使用者輸出乙個訊息的時候這也是乙個好辦法,因為你不用關心訊息是怎麼產生的,你只需給 事件***增加乙個訊息,這個訊息就會自動顯示出來。
seam中JSF元件繫結
對話元件有乙個小小的限制 它們不能夠被用來儲存對jsf元件的繫結。除非絕對必要,否則我們通常不喜歡使用jsf的這個特性,因為它建立了從應用程式邏輯到檢視的強依賴關係。在乙個postback請求中,元件繫結會在檢視恢復階段中且在seam對話上下文恢復之前被更新。為了解決這個問題,使用乙個事件範圍的元件...
隱藏JSF應用中的HTTP Header資訊
對於jsf的應用,你可能會在http的頭資訊中看到這樣的字樣 server apache 2.0.61 unix x powered by jsf 1.2 隱藏server資訊 在apache裡控制的,在httpd.conf裡加入一行 servertokens prod 隱藏x powered by...
JSF中的EL表示式
1 el表示式語言 jsf中的表示式語言形如 2 jsf中的表示式語言與jsp2中的表示式語言的不同 jsf使用 開始,jsp使用 開始。jsp只是訪問並輸出變數和bean的值,jsf可以訪問輸出託管bean的屬性,還可以更新託管bean的屬性。jsf不支援內嵌函式 jsf與jsp中的內建物件有點不...