728x90
반응형
Errors에 에러 코드를 추가하면 JSP 는 스프링이 제공하는 <form:errors> 태그를 사용해서 에에 해당하는 메시지를 출력
<%@ page contentType="text/html; charset=utf-8" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<!DOCTYPE html>
<html>
<head>
<title><spring:message code="member.register" /></title>
</head>
<body>
<h2><spring:message code="member.info" /></h2>
<form:form action="step3" modelAttribute="registerRequest">
<p>
<label><spring:message code="email" />:<br>
<form:input path="email" />
<form:errors path="email"/>
</label>
</p>
<p>
<label><spring:message code="name" />:<br>
<form:input path="name" />
<form:errors path="name"/>
</label>
</p>
<p>
<label><spring:message code="password" />:<br>
<form:password path="password" />
<form:errors path="password"/>
</label>
</p>
<p>
<label><spring:message code="password.confirm" />:<br>
<form:password path="confirmPassword" />
<form:errors path="confirmPassword"/>
</label>
</p>
<input type="submit" value="<spring:message code="register.btn" />">
</form:form>
</body>
</html>
<form:errors> 태그의 path 속성
- 에러 메시지를 출력할 프로퍼티 이름을 지정
에러 코드에 해당하는 메시지 코드를 찾을 때의 규칙
1) 에러코드 + . + 커맨드객체이름 + "." + 필드명
2) 에러코드 + . + 필드명
3) 에러코드 + . + 필드타입
4) 에러코드
프로퍼티 타입이 List 또는 목록인 경우
1) 에러코드 + . + 커맨드객체이름 + . + 필드명[인덱스].중첩필드명
2) 에러코드 + . + 커맨드객체이름 + . + 필드명.중첩필드명
3) 에러코드 + . + 필드명[인덱스].중첩필드명
4) 에러코드 + . + 필드명.중첩필드명
5) 에러코드 + . + 중첩필드명
6) 에러코드 + . + 필드타입
7) 에러코드
예시
- errors.jejectValue("email", "required") 코드를 추가하고 커맨드 객체이름이 registerRequest 인 경우
1) required.registerReqest.email
2) required.email
3) required.String
4) required
이 중 먼저 검색되는 메시지 코드를 사용
메시지 중, required.email과 required 메시지 코드가 두 개 존재하면 우선순위 가 높은 required.email 메시지 코드를 사용해서 메시지 출력
특정 프로퍼티가 아닌 커맨드 객체에 추가한 글로벌 에러 코드의 메시지 코드 검색 순서
1) 에러코드 + . + 커맨드객체이름
2) 에러코드
메시지를 찾을 때, MessageSource를 사용하므로 에러 코드에 해당하는 메시지를 메시지 프로퍼티 파일에 추가하기(label.properties)
required=필수항목입니다.
bad.email=이메일이 올바르지 않습니다.
duplicate.email=중복된 이메일입니다.
nomatch.confirmPassword=비밀번호와 확인이 일치하지 않습니다.
<form:errors> 태그의 주요 속성
<form:errors> 커스텀 태그는 프로퍼티에 추가한 에러 코드 개수만큼 에러 메시지를 출력
1) element : 각 에러 메시지를 출력할 때 사용할 HTML 태그, 기본 값은 sapn
2) delimiter : 각 에러 메시지를 구분할 때 사용할 HTML 태그, 기본 값은
<form:errors path="userId" elemen="div" delimeter=""/>
path 속성을 지정하지 않으면 글로벌 에러에 대한 메시지 출력
728x90
반응형
'Spring' 카테고리의 다른 글
[Spring] 컨트롤러 범위 Validator @InitBinder (0) | 2024.05.18 |
---|---|
[Spring] 글로벌 Validator (0) | 2024.05.14 |
[Spring] Errors 와 ValidationUtils 클래스의 주요 메서드 (0) | 2024.05.13 |
[Spring] 커맨드 객체의 값 검증과 에러 메시지 처리 1 (0) | 2024.05.11 |
[Spring] <spring:message> 메시지 인자 처리 (0) | 2024.05.11 |