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...