- 화면 단에서 데이터를 입력하지 않거나, 잘못된 데이터를 입력시, 에러를 발생하는 것을 일반적으로 client에서 유효성을 체크한다 그러나 웹,해킹 등 여러가지 이유로 서버단에서도 체크할 경우가 발생하는데 이에 대한 처리를 spring framework에서는 지원하고 있다
- Controller
- String loginForm(VO v, Error error)
- hasError : 전체적 에러 발생
- rejectValue("에러 code값","코드값이 없을때 대체 내용")
- Validator 처리 : implements Validator
- public void validate(Object target,Error error
- View단
- <form:form commandName="모델이름">
- <form:errors element="div"/>전체 에러내용표시
- <form:errors path="email"/>해당항목의 에러 발생시 표시
- 컨트롤러단
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
@Controller
public class C01_MultiLanCtrl {
@RequestMapping("/language.do")
public String multiLanform(@ModelAttribute("memberinfovo") MemberInfoVO mem, Errors errors){
System.out.println(mem);
//에러 여부 확인
if(errors.hasErrors()){
System.out.println("에러 발생");
}
if(mem.getId()!=null && mem.getId().trim().equals("")){
errors.rejectValue("id","required", "아이디나 입력하세요");
}
return "a01_novice/c01_MultiLan";
}
}
| cs |
- view 단
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<h2><spring:message code="regi"/></h2>
<form:form commandName="memberinfovo">
<form:errors element="div"/>
<table>
<tr><td><spring:message code="id"/></td>
<td><form:input path="id"/><form:errors path="id"/></td>
</tr>
<input type="submit" value='<spring:message code="regbtn"/>'/>
</td></tr>
</table>
</form:form>
| cs |
- 작업과정
- Ctrl => error 처리 => view 화면 출력및 error form 입력 => errorMessage
- 파일 입력 =>
- <form:errrors path= " ? " /> ? = form:input path : 에 들어갈 변수명과 같음
- setXXX 에서 XXX 와같음
- 임의로 에러를 줄수도 있음
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
| cs |
- error.properties 파일
1
2
3
4
5
6
7
8
|
| cs |
댓글 없음:
댓글 쓰기