Forms Spring MVC验证消息转换

Forms Spring MVC验证消息转换,forms,validation,spring-mvc,internationalization,Forms,Validation,Spring Mvc,Internationalization,我正在使用SpringMVC应用程序,我已经使用国际化为页面实现了西班牙语翻译。我在xml中使用了以下代码 <mvc:interceptors> <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> <property name="paramName" value="lang" /> </bean> </mvc:i

我正在使用SpringMVC应用程序,我已经使用国际化为页面实现了西班牙语翻译。我在xml中使用了以下代码

<mvc:interceptors>
    <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
        <property name="paramName" value="lang" />
    </bean>
</mvc:interceptors>

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

    <bean id="localeChangeInterceptor"
        class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
        <property name="paramName" value="lang" />
    </bean>

    <bean id="localeResolver"
        class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
        <property name="defaultLocale" value="en"/>
    </bean>

    <bean id="handlerMapping"
        class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
        <property name="interceptors">
            <ref bean="localeChangeInterceptor" />
        </property>
    </bean>
在属性文件中,我有两个文件中的西班牙语和英语文本。但是

<form:errors path="value1" /> 

它不能正常工作。它按原样显示文本(我有一些字母,比如n和tilda,所以我尝试了ñ),但它不起作用

我的jsp页面顶部有以下内容

    <jsp:directive.page contentType="text/html;charset=UTF-8" />

        <head>
            <%@ page isELIgnored="false"%>

              <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
              <meta http-equiv="X-UA-Compatible" content="IE=edge" />

    ................

    </head>

<body>

<form:errors path="value1" />

</body>

................

我还需要补充什么吗?谢谢。

我能做到这一点。我所要做的就是将htmlEscape=“false”添加到。我确实试过了,但是我添加了spring:message标签,所以它不起作用。谢谢。

我偶然发现了同样的问题,并意识到rejectValue方法实际上并不能翻译消息,而如果我使用ValidationUtils,一切都可以正常工作

因此,如果您需要没有ValidationUtils类的自定义验证,那么我找到的唯一解决方法就是将

    <jsp:directive.page contentType="text/html;charset=UTF-8" />

        <head>
            <%@ page isELIgnored="false"%>

              <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
              <meta http-equiv="X-UA-Compatible" content="IE=edge" />

    ................

    </head>

<body>

<form:errors path="value1" />

</body>