比如:@NotNull(message="{items.createtime.isNull}")
会显示{items.createtime.isNull},而不是其映射CustomValidationMessage.properties中的内容。
springmvc.xml中写的是这个:
<mvc:annotation-driven conversion-service="conversionService" validator="validator"/>
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="providerClass" value="org.hibernate.validator.HibernateValidator"/>
<property name="validationMessageSource" ref="messageSource"/>
</bean>
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>CustomValidationMessages</value>
</list>
</property>
<property name="useCodeAsDefaultMessage" value="false"/>
<property name="defaultEncoding" value="UTF-8"/>
<property name="cacheSeconds" value="60"/>
</bean>
CustomValidationMessage.properties中文件是:
items.createtime.isNull = 请输入商品的生产日期
controller中是:
@RequestMapping(value=("/editItemsSubmit"),method = {RequestMethod.GET,RequestMethod.POST})
public String editItemsSubmit(Model model, HttpServletRequest request, Integer id,
@Validated ItemsCustom itemsCustom, BindingResult bindingResult)throws Exception {
if (bindingResult.hasErrors()) {
List<ObjectError> allErrors = bindingResult.getAllErrors();
for (ObjectError allError : allErrors) {
System.out.println(allError.getDefaultMessage());
}
model.addAttribute("allErrors", allErrors);
return "items/editItems";
}
结果就是,每次看到的是{...},就是引号里原本的内容,是不是需要转义什么的?
开发工具,我用的是Idea15