Я новичок в весне, я использую весну 3.0.5. RELEASE.Мое требование - я хочу проверить поля в форме с использованием весенних аннотаций. Код, который я использую, заключается в следующем: , Это класс проверки, который реализует интерфейс валидатора.Проверка формы с использованием весенних аннотаций
public class FluctuationValidator implements Validator{
@Override
public boolean supports(Class<?> clazz) {
return ReportsCommand.class.isAssignableFrom(clazz);
}
@Override
public void validate(Object command, Errors errors) {
ReportsCommand reportsCommand = (ReportsCommand) command;
System.out.println("Inside the validate method of validator class");
ValidationUtils.rejectIfEmpty(errors, "callType", "PackageNameIsRequired");
}
}
Здесь ReportsCommand - это класс, который содержит данные, введенные в форму. В контроллере код выглядит следующим образом.
@Autowired
FluctuationValidator fluctuationValidator;
public ModelAndView showForm(@ModelAttribute("reports") ReportsCommand model, ModelAndView modelAndView,BindingResult result,
HttpServletRequest request, HttpServletResponse response) throws Exception {
fluctuationValidator.validate(modelAndView,result);
if (result.hasErrors()) {
modelAndView = new ModelAndView("report-generate-form");
return modelAndView;
}
}
В файле Jsp я использую
<form:errors path="callType" cssClass="error" />
Любая вещь неправильно в моем code.If я использую как это, я ма получать org.springframework.beans.NotReadablePropertyException: Недопустимое свойство «CALLTYPE» из класса bean [org.springframework.web.servlet.ModelAndView]: Свойство bean 'callType' не читается или имеет недопустимый метод getter: соответствует ли тип возвращаемого значения getter типу параметра setter? Исключение.
Для объектов CALLTYPE это не ищущего в классе ReportsCommand вместо этого он ищет весной ModelAndView class.What может быть pbm.Can кто-нибудь сказать мне ...