Java 如何将参数传递给errors.rejectValue(),它是SpringMVC3中ResourceBundle的另一个属性?
我想传递ResourceBundle的(globalmessage.properties)属性名“atm.number”而不是硬编码文本“Número de cajero”作为“errors.required”属性的参数。在验证器中我将如何做到这一点 ReporteIncidenciaValidator(验证器):Java 如何将参数传递给errors.rejectValue(),它是SpringMVC3中ResourceBundle的另一个属性?,java,spring-mvc,Java,Spring Mvc,我想传递ResourceBundle的(globalmessage.properties)属性名“atm.number”而不是硬编码文本“Número de cajero”作为“errors.required”属性的参数。在验证器中我将如何做到这一点 ReporteIncidenciaValidator(验证器): public class ReporteIncidenciaValidator implements Validator { public boolean supports
public class ReporteIncidenciaValidator implements Validator {
public boolean supports(Class<?> clazz) {
return ReporteIncidencia.class.isAssignableFrom(clazz);
}
public void validate(Object target, Errors errors) {
ReporteIncidencia reporteIncidencia = (ReporteIncidencia) target;
if (StringUtils.isBlank(reporteIncidencia.getNumeroCajero())) {
errors.rejectValue("numeroCajero", "errors.required",
new Object[]{"Número de cajero"}, "");
}
}
}
errors.required={0} es requerido.
atm.number=Número de cajero
servlet context.xml:
public class ReporteIncidenciaValidator implements Validator {
public boolean supports(Class<?> clazz) {
return ReporteIncidencia.class.isAssignableFrom(clazz);
}
public void validate(Object target, Errors errors) {
ReporteIncidencia reporteIncidencia = (ReporteIncidencia) target;
if (StringUtils.isBlank(reporteIncidencia.getNumeroCajero())) {
errors.rejectValue("numeroCajero", "errors.required",
new Object[]{"Número de cajero"}, "");
}
}
}
errors.required={0} es requerido.
atm.number=Número de cajero
一种简单的方法是使用ApplicationContext类
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename">
<value>locale\messages</value>
</property>
</bean>
</beans>
public class ReporteIncidenciaValidator implements Validator, ApplicationContextAware {
private ApplicationContext ctx;
public boolean supports(Class<?> clazz) {
return ReporteIncidencia.class.isAssignableFrom(clazz);
}
public void validate(Object target, Errors errors) {
String message = context.getMessage("yourKey",
new Object[] { }, Locale.US);
// your code
}
}
区域设置\消息
公共类ReporteIncidenciaValidator实现验证器,ApplicationContextAware{
私有应用上下文ctx;
公共布尔支持(类clazz){
返回报告incidencia.class.isAssignableFrom(clazz);
}
公共无效验证(对象目标、错误){
String message=context.getMessage(“yourKey”,
新对象[]{},Locale.US);
//你的代码
}
}
@alfredo osorio您可以使用rejectValue(org.springframework.validation.Errors)Errors.rejectValue(字段,errorCode,新对象[]{“args”},defaultMessage)代码>