私は春に不慣れで、春の 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" />
私のコードに何か問題があります。このように使用すると、org.springframework.beans.NotReadablePropertyException: Invalid property 'callType' of bean class [org.springframework.web.servlet.ModelAndView]: Bean property 'callType' is not が発生します読み取り可能または無効なゲッター メソッドがあります: ゲッターの戻り値の型は、セッターのパラメーターの型と一致しますか? 例外。
プロパティcallTypeについては、ReportsCommandクラスではなく、春のModelAndViewクラスで検索しています.pbmである可能性があります.誰か教えてください...