저는 Spring의 Validator를 사용하고 form:errors path=""
으로 JSP 형식의 유효성 검사기 결과를 표시하려고 db 객체 person
의 유효성을 검사하려고 시도하는 spring mvc 웹 응용 프로그램에서 작업 중입니다. 나는이 JSP 코드가Spring Validator - <form : errors를 사용하여 오류를 표시합니다.
@RequestMapping(value="/find", method = RequestMethod.GET)
public ModelAndView search(@ModelAttribute("Person") Person p,BindingResult result){
Person person2 = personDao.get(p.getId());
ModelAndView mav = new ModelAndView("templates/person");
PersonValidator personValidator = new PersonValidator();
personValidator.validate(person2, result);
mav.addObject("person",person2);
mav.addObject("errors",result.getFieldErrors());
return mav;
}
: 나는 같은 컨트롤러의 서버 측 방법이 내가 명시 적으로 오류 메시지를 넣을 경우 작동
<form:form commandName="person" >
<form:input path="personEmail" />
<form:errors path="personEmail" element="div" />
</form:form>
${errors.personEmail }
그러나,
<form:errors path="personEmail" element="div" />
이 작동하지 않습니다.
나에게 무엇이 잘못 되었습니까?
'PersonValidator'의 기능은 무엇입니까? – wrschneider
간단한 스프링 검사기입니다. 그 구현은'Public class PersonValidator Validator { }를 구현합니다. public boolean supports (클래스 clazz) { return Person.class.equals (clazz); } public void validate (Object obj, Errors e) {' – gtiwari333
중요한 부분은'validate' 메소드 본문입니다. validate 메소드에서'result.rejectValue'를 호출하고 있습니까? 또한 @ModelAttribute를'person' (대문자 p)로 변경해보십시오. – wrschneider