【发布时间】:2016-02-25 06:30:49
【问题描述】:
我正在使用 Spring mvc 应用程序,并且我已经为使用国际化的页面实现了西班牙语翻译。我在我的 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>
除验证消息外,所有标签和消息都有效。我在验证器类中设置验证消息
errors.rejectValue("value1","valid.value1");
在属性文件中,我在 2 个文件中有西班牙语、英语文本。但是
<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>
我还需要添加什么吗?谢谢。
【问题讨论】:
标签: forms validation spring-mvc internationalization