Java Spring mvc绑定错误国际化
我在解决绑定上的类型不匹配异常时遇到一些问题。无法从my messages.properties解析类型不匹配错误 我的控制器处理程序:Java Spring mvc绑定错误国际化,java,spring,validation,spring-mvc,internationalization,Java,Spring,Validation,Spring Mvc,Internationalization,我在解决绑定上的类型不匹配异常时遇到一些问题。无法从my messages.properties解析类型不匹配错误 我的控制器处理程序: @RequestMapping(method = RequestMethod.POST) public @ResponseBody ValidationResponse addOrder(@ModelAttribute(value = PARAM_NAME) @Valid Orders orders, BindingResult bindingResu
@RequestMapping(method = RequestMethod.POST)
public @ResponseBody
ValidationResponse addOrder(@ModelAttribute(value = PARAM_NAME) @Valid Orders orders, BindingResult bindingResult) {
...
}
我从bindingResult获取此消息
弹簧配置:
...
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="/WEB-INF/messages" />
<property name="defaultEncoding" value="UTF-8"/>
</bean>
<bean name="validator"
class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="validationMessageSource">
<ref bean="messageSource"/>
</property>
</bean>
...
对于此类支票:
...
@NotNull(message="{Orders.width.NotNull}")
private Long width;
...
我收到了正确的信息
更新
此示例打印错误消息:
List<FieldError> allErrors = bindingResult.getFieldErrors();
for (FieldError objectError : allErrors) {
System.out.println(objectError.getDefaultMessage());
}
List allErrors=bindingResult.getFieldErrors();
for(FieldError对象错误:allErrors){
System.out.println(objectError.getDefaultMessage());
}
我找到了有问题的解决方案。要翻译消息,我必须插入messageSource
,并使用以下代码:
messageSource.getMessage(objectError, locale)
这将从我的属性文件中获取消息。消息是如何显示的(对于不起作用的消息)?是的,tbh我不了解此文件中什么起作用,什么不起作用(或不按预期工作)question@Rachel例如,我更新了问题在您的更新中,“打印错误消息”是什么意思?这些信息是怎么说的?@Rachel G.,这是唯一的例子。在实际代码中,此列表经过一些修改后将作为JSON发送到JavaScript。
messageSource.getMessage(objectError, locale)