자바버전
스프링에 제공하는 <form>태그
1. join.jsp 파일에서 < form>태그로 변경 ==커스텀 태그변경
form:label에 있는 path는 userBean과 같아야 함 : 자동으로 주입해야하기 때문에
2. ModelAtrribute에서 joinuserbean을 주입받았기 때문에
userController에 가서 joinuserbean을 사용해준다.
@GetMapping("/join")
public String join(@ModelAttribute("joinUserBean") UserBean joinUserBean) {
return "user/join";
}
xml버전
1. join.jsp 복붙
2. userbean복사 beans package 복사
3.usercontorller 덮어쓰기
4. 실행 후 확인
자바버전에서 유효성 검사 userbean에 셋팅하기
@Size(min=2, max=4)
@Pattern(regexp = "[가-힣]*") //한글만 입력할 수 있게
private String user_name;
@Size(min=4, max=20)
@Pattern(regexp = "[a-zA-Z0-9]*") //알파벳 숫자0-9까지
private String user_id;
@Size(min=4, max=20)
@Pattern(regexp = "[a-zA-Z0-9]*") //알파벳 숫자0-9까지
private String user_pw;
@Size(min=4, max=20)
@Pattern(regexp = "[a-zA-Z0-9]*") //알파벳 숫자0-9까지
private String user_pw2;

[Usercontroller]
@PostMapping("/join_pro")
public String joing_pro(@Valid @ModelAttribute("joingUserBean") UserBean joinUserBean,BindingResult result) {
//유효성검사
if(result.hasErrors()) {
return "user/join";
}
//파라미터 값을 주입받은 Bean을 셋팅함
userService.addUserInfo(joinUserBean);
return "user/join_success";
}
xml버전에 셋팅
1. beans에 덮어쓰기
2.join.jsp도 덮어쓰기
3.userController에 덮어쓰기
메세지 셋팅하기
자바버전

※ . JoinUserBean. : controller에 주입받는 이름과 같아야 함
메세지로 등록하고 사용하기 위해서 serveltAppContext에 등록해야 함
<!-- messageSource를 등록한다 -->
<beans:bean class='org.springframework.context.support.ReloadableResourceBundleMessageSource' id='messageSource'>
<beans:property name="basenames">
<beans:list>
<beans:value>/WEB-INF/properties/error_message</beans:value>
</beans:list>
</beans:property>
</beans:bean>
<!-- Message접근을 위한 접근자 등록 -->
<beans:bean class='org.springframework.context.support.MessageSourceAccessor'>
<beans:constructor-arg ref='messageSource'/>
</beans:bean>

비밀번호가 서로 같은지 확인하는 것은 validate를 활용해야 함
자바버전
1.package 추가 + userValidator class생성
userbean 객체있는 값들 유효성 검사를 하기 위해 리턴값을 아래와 같이 작성한다.
@Override
public boolean supports(Class<?> clazz) {
return UserBean.class.isAssignableFrom(clazz);
}
@Override
public void validate(Object target, Errors errors) {
UserBean userBean = (UserBean)target;
String beanName = errors.getObjectName();
if(userBean.getUser_pw().equals(userBean.getUser_pw2()) == false) {
errors.rejectValue("user_pw", "NotEquals");
errors.rejectValue("user_pw2", "NotEquals");
}
}
pw2에 대한 에러메세지를 error)message_properties에 등록하기!
NotEquals.joinUserBean.user_pw =비밀번호가 일치하지 않습니다.
NotEquals.joinUserBean.user_pw2 = 비밀번호가 일치하지 않습니다.
validator를 usercontoller에 등록하여 사용하기 위해 contoller를 아래와 같이 수정하기!
@InitBinder
public void initBinder(WebDataBinder binder) {
UserValidator validator1 = new UserValidator();
binder.addValidators(validator1);
}
실행결과가 아래와 같이 나온다.

xml 버전
1.validator package 복붙
2. 에러메세지 properties에 복사
3. usercontoller에 initbinder 코드 복붙하기
4. 실행 후 확인하기
'Coding > spring' 카테고리의 다른 글
부트스트랩 이용해서 에러메세지 띄워보기 (1) | 2022.09.23 |
---|---|
회원정보 수정 (0) | 2022.09.16 |
Jquery를 활용한 예제 (0) | 2022.08.26 |
[공부note] (0) | 2022.08.24 |
1학기 복습타임! (0) | 2022.08.19 |