[英]How does it work with bean validation messages and i18n in JSF2?
我創建了驗證消息(ValidationMessages.properties)文件,以便在我的項目中實現i18n。
看起來像:
pwtNumber.error=PWT Number error..
我在faces-config.xml中定義它:
<message-bundle>com.mycompany.web.i18n.ValidationMessages</message-bundle>
在我的代碼中,我以這種方式使用它:
@Null(message = "{pwtNumber.error}")
public String getPwtNummer() {
return pwtNummer;
}
但問題是我沒有收到錯誤消息,而是來自屬性文件的密鑰。 這是我得到的錯誤消息:
myForm:pwtNummer: {pwtNumber.error}
我怎么解決呢?
您將JSF內置驗證與JSR303 bean驗證混淆。
<message-bundle>
用於覆蓋/指定JSF內置驗證消息,而不是JSR303 bean驗證消息。 雖然您使用了JSR303 bean驗證包文件ValidationMessages.properties
的正確文件名,但JSR303 bean驗證還要求將bundle文件放在類路徑的根目錄中(因此, 沒有任何包;在默認包中)。 修復之后,不要忘記刪除不正確的<message-bundle>
條目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.