1

検証は期待どおりに機能しますが、メッセージは英語でのみ適切に表示されます。日本語には独自のメッセージを使用しています。

問題は、日本語の検証メッセージが文字化けすることです。私はhibernate-validator-4.2.0.Final.jarでvalidation-api-1.0.0.GA.jarを使用しています。ValidationMessages.properties と ValidationMessages_ja.properties があります。ファイルは utf8: 例: firstName=姓をご記入ください。出てくる: å½ãé¸æãã¦ãã ããã

検証する属性の上の Bean で使用します。 @Size(min = 1, message = "{myErrorMsg}") private String myAttribute;

私のspring.xmlでは:

    <bean id="messageSource"
    class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
    <!-- <property name="basename" value="classpath:tc-messages" /> -->
    <property name="basenames">
        <list>
            <value>classpath:tc-messages</value>
            <value>classpath:ValidationMessages</value>
        </list>
    </property>
    <property name="defaultEncoding" value="UTF-8" />
</bean>

と:

<bean id="localeResolver"
    class="org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver">
    <!-- <property name="defaultLocale" value="en_us" /> -->
</bean>

不足しているものはありますか?

ありがとう、ロッド

4

1 に答える 1

0

おそらくビルド時にエンコーディングが失われると思います。使用するビルドツールはファイルエンコーディングを認識していますか?たとえば、Mavenでは、次のプロパティが必要です。

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
于 2012-04-27T15:37:38.417 に答える