簡體   English   中英

它如何與JSF2中的bean驗證消息和i18n一起使用?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM