請注意,param-name 應(yīng)用程序和值表示為beatest.ApplicationResources。這表示在應(yīng)用程序類路徑的包 beatest 內(nèi)一定存在一個(gè)名為 ApplicationResources.properties 的屬性文件。
在 Struts 1.1 中,可以在 struts-config.xml 中定義資源包。
<message-resources parameter="beatest.ApplicationResources"/>
此處的參數(shù)為必需值,它引用類路徑 beatest 包中的 ApplicationResources.properties 文件。使用 Struts 1.1 時(shí)可以有多個(gè)資源包,這使開發(fā)人員還能夠?qū)Y源包進(jìn)行組織。例如,可以有這樣的包:
<message-resources key=”errorBundle” parameter="beatest.ApplicationErrors"/>
和
<message-resources key=”labelsBundle” parameter="beatest.ApplicationLabels"/>
可以在應(yīng)用程序中對它們進(jìn)行適當(dāng)設(shè)置。如果用戶想要為 HTML 顯示標(biāo)簽,則可以使用 labelsBundle。
<bean:message bundle="lablesBundle" key="some.message.key"/>
而如果想要顯示錯(cuò)誤信息,則可以使用 errorBundle。
<bean:message bundle="errorBundle" key="some.error.message"/>
返回頁首
使用消息資源時(shí)的常見問題 開發(fā) Struts 應(yīng)用程序過程中的一個(gè)常見錯(cuò)誤是:
javax.servlet.jsp.JspException:Missing message for key "<some key name>"
要解決此問題,可以確認(rèn)是否存在下列情況:
-
消息不是從正確的資源包取得的。請確保引用的是真正包含所提及的鍵的正確的資源包。
-
資源屬性文件不在正確的位置或不在應(yīng)用程序的類路徑中。應(yīng)用程序資源屬性文件應(yīng)位于 WEB-INF\classes 目錄中,或應(yīng)為 WEB-INF\lib 目錄中某個(gè) .jar 文件的一部分。
-
使用 null="false" 可避免上述錯(cuò)誤。例如:
<bean:message bundle="lablesBundle" key="some.message.key" null="false">
這樣將會設(shè)置一個(gè)消息資源包,在文件 MyWebAppResources.properties 的缺省鍵下提供該資源包。缺少的資源鍵將顯示為“???keyname???”。
返回頁首
|