Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring mvc绑定错误国际化_Java_Spring_Validation_Spring Mvc_Internationalization - Fatal编程技术网

Java Spring mvc绑定错误国际化

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

我在解决绑定上的类型不匹配异常时遇到一些问题。无法从my messages.properties解析类型不匹配错误

我的控制器处理程序:

@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)