struts的ActionMessages訊息機制

2021-04-15 10:43:21 字數 3492 閱讀 8889

actionmessages以乙個hashmap儲存actionmessage.map中的key是乙個標識,其對應的value是乙個list物件,所有的actionmessage儲存在list中.也就是說key標識了一組actionmessage.

先介紹涉及到的類中的幾個常用方法,然後給出幾個示例**,幫助理解.

actionmessages

action及其所有子類

在request中新增的

actionmessages在頁面顯示時,用標籤進行顯示,下面介紹一下該標籤和經常配套使用的標籤. id

必須指定id屬性.標籤作用是遍歷actionmessages物件中的所有    actionmessage.類似,每次迴圈都定義乙個名稱為id指定的頁面範圍的bean,然後用    標籤進行輸出.

bundle

繫結乙個messageresources,不指定的時候從上下文中配置的資源中檢索.一般不指定bundle屬性.

locale

指定本地化資訊,不指定時和session的本地化資訊相同,一般不用指定.

name

指定actionmessages物件在request中的key.不指定時,預設用      globals.error_key="org.apache.struts.action.error",用action.addmessages()方法新增的資訊將不    被顯示,用action.adderrors()方法新增的資訊才會被顯示.一般不指定.

property

指定哪些actionmessage將被顯示,與actionmessages.addmessage(string property,actionmessage am)中的property引數相對應.不指定的時候顯示所有資訊.

header

指定乙個資源資訊key,在顯示actionmessages前列印到頁面上,可選.

footer

指定乙個資源資訊key,在顯示完actionmessages後列印到頁面上,可選.

message

取值為true/false,預設為false.為false或不指定時,在request中查詢key=globals.error_key的actionmessages bean.當該屬性設定為true時,在request中查詢key=globals.message_key的actionmessages bean,同時name屬性的值將被忽略.注:true顯示this.addmessages(request,messages); 裡面的訊息,false顯示this.adderrors(request, messages);訊息。

的message屬性如果設定為true,會輸出

actionmessages中所儲存的訊息,message表示乙個提示訊息,也許使用者輸入了不正確的資訊,例如在輸入名稱與密碼時打錯了字,程式要提示使用者他們輸入了不正確的訊息。

的message屬性如果不設定為true,會輸出actionerrors中所儲存的訊息,error代表的是乙個操作方面的錯誤,例如錯誤操作導致使用者名稱或密碼為空(當然也許也是故意的)。

和標籤,只支援message,name,property3個屬性,作用和相同,就不再介紹

下面給出一段**,幫助大家理解,這裡只寫了關鍵**.

1. action 類中的部分**:

2.  jsp檔案中的部分**:

<

html:messages

id="message"

>

<

bean:write

name

="message"

/>

<

br/>

html:messages

>

<

html:messages

id="message"

property

="info"

>

<

bean:write

name

="message"

/>

html:messages

>

<

html:messages

id="message"

message

="true"

>

<

bean:write

name

="message"

/>

html:messages

>

<

html:messages

id="message"

message

="true"

property

="info"

>

<

bean:write

name

="message"

/>

html:messages

>

如果結合上標籤,將可以做出自由度很高的錯誤資訊顯示效果,具體如何表現這裡就不在細說了.的使用方法大家自己體會,我相信大家掌握了,一定能駕馭

Struts和struts2的不同

struts和struts2的不同點 1 action struts的action類要求繼承乙個基類。struts2的action類是通過實現介面。2 執行緒模式 struts action執行緒不安全的,單列的模式。struts2 action物件為每個請求產生乙個例項 3 servlet依賴 s...

Struts的擴充套件

struts不但功能強大也易於擴充套件。你可以通過三種方式來擴充套件struts 1.plugin 在應用啟動或關閉時須執行某業務邏輯,建立你自己的plugin類 2.requestprocessor 在請求處理階段乙個特定點欲執行某業務邏輯,建立你自己的requestprocessor。例如 你想...

struts2 5 struts中常量的配置

常量有兩種配置方式 1 在struts.xml 中配置 建議使用此種配置方式 2 在struts.properties 中配置常量 truts.action.extension action因為常量可以在下面多配置檔案中進行定義,所以我們需要了解struts2載入常量的搜尋順序 struts def...