메뉴 건너뛰기

조회 수 7108 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

전자정부 표준프레임워크에서는 공통컴포넌트로 회원가입도 제공하고 있습니다.

회원가입 form에서는 조금 독특한 Validator를 사용하고 있는데요.
아마도 스프링(Spring)에서 지원하는 Validator를 알맞게 수정해서 사용하고 있는 것 같습니다.


그래서, 회원가입을 통해서 Validator를 구현하는 방식을 살펴보겠습니다.

1. Validator 하위 xml 파일 만들어서 rule 구현하기
2. 해당 VO 파일 만들기
3. Controller(EgovMberManageController.java)의 해당 메소드에 ModelAttribute 파라미터로 추가하기
4. JSP 파일에 폼양식 및 스크립트 추가하기(
EgovMberSbscrb.jsp)


1. Validator 하위에 xml 파일 만들어서 rule 구현하기

validator 하위에 EgovMberManage.xml 파일을 생성합니다.
(파일명은 원하는 이름으로 하셔도 알아서 인식합니다.)


EgovMberManage.xml 파일에 아래처럼 체크할 필드들에 대해 속성을 넣어주세요.

필수값이면 required, 최대글자길이 제한이 있다면 maxLength 등 넣어주시면 됩니다.

validator 폴더 하위의 다른 xml 파일들을 참고해서 눈치껏 작성해 주시면 됩니다.

form name으로 사용한 mberManageVO는 다른 곳에서도 사용하니 기억해 두시구요.


2. 해당 VO 파일 만들기 (MberManageVO)

EgovMberManage.xml 파일에 아래처럼 체크할 필드들에 대해 속성을 넣어주세요.

xml 파일에서 form name을 mberManageVO로 했던 거 기억하시죠?

지금 만들 MberManageVO 때문입니다.


MberManageVO에서 정의한 변수값들이 중요한데요.

1번에서 만들었던 EgovMberManage.xml 소스의 property명과 MberManageVO 안의 변수명들이 같아야 에러가 나지 않습니다.

만일 VO에 없는 변수가 xml 파일에 정의되면 오류가 발생합니다.

그리고, 4번에서 jsp 파일에 폼을 만들텐데 그곳에서의 name도 이 VO 파일의 변수명과 같아야 에러가 발생하지 않습니다.


3. Controller(EgovMberManageController.java)의 해당 메소드에 ModelAttribute 파라미터로 추가하기

회원가입 양식을 실행시키는 메소드는 sbscrbMberView() 메소드의 파라미터에 아래 부분을 반드시 선언해 주셔야 합니다.

@ModelAttribute("mberManageVO") MberManageVO mberManageVO


4. JSP 파일에 폼양식 및 스크립트 추가하기(EgovMberSbscrb.jsp)

1. taglib 추가하기

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>


2. script 추가하기

<script type="text/javascript" src="<c:url value="/sec/rnc/validator.do"/>"></script>
<validator:javascript formName="mberManageVO" staticJavascript="false" xhtml="true" cdata="false"/>


3. <form:form 태그로 폼 추가하기

<form:form commandName="mberManageVO" action="${pageContext.request.contextPath}/uss/umt/EgovMberSbscrb.do" name="mberManageVO"  method="post" >


4. <form:input, <form:select 등으로 폼에 개체 추가하기

<form:input path="mberId" size="20" cssClass="txaIpUmt" readonly="true" maxlength="20" /> 등등


굳이 체크할 필요가 없는 부분은 <input .. /> 등으로 구현해도 됩니다.

하지만, validate 체크를 해야 하는 부분은 반드시 <form:input path="mberId" ... /> 처럼 구현하셔야 하구요.
path에 들어가는 값은 MberManageVO에 있는 변수와 이름이 일치하여야 합니다.


5. 전송 버튼이 실행될 자바스크립트 함수에 if문 추가하기

if(validateMberManageVO(document.mberManageVO)){}

[가입신청] 버튼을을 클릭시 validate 체크를 해야하기 때문에 [가입신청] 클릭시 실행되는 함수에 추가할 사항이 있습니다.


[가입신청] 버튼을 클릭하면 fnSbscrb() 함수가 실행되는군요.


fnSbscrb() 함수에 if(validateMberManageVO(document.mberManageVO)){} 이 부분을 넣어줘야 validate 체크를 하게 됩니다.

validateMberManageVO(document.mberManageVO) 값이 true일 때만 전송하도록 구현돼 있습니다.

validateMberManageVO( document.mberManageVO) => mberManageVO 의 명이 사용된 점에 주의하셔야 합니다.


자, 이렇게 구현을 하고 테스트를 해보면 잘 되겠죠?

만일 구현을 다 했는데도 작동하지 않는다면 디버깅을 통해 해결해야 할 것 같습니다.


List of Articles
번호 제목 날짜 조회 수
71 스프링(Spring)의 Validator 기능을 사용하다가 '정의되지 않음 또는 null 참조인 'type' 속성을 가져올 수 없습니다.'라는 오류를 만났을 때 해결방법 file 2016.08.29 5165
70 시간관련 클래스 file 2018.09.21 1188
69 쓰레드 (Thread) 사용하기 file 2021.03.31 104
68 쓰레드 그룹 file 2016.09.13 3323
67 쓰레드 기본 2016.09.13 3288
66 쓰레드의 동기화 2016.09.13 3315
65 쓰레드의 실행제어 file 2016.09.13 3264
64 쓰레드의 우선순위 2016.09.13 3503
63 예외 만들기 2016.09.13 4961
62 예외 처리 기본 file 2016.09.13 3249
61 예외처리 / 예외발생 file 2018.09.21 934
60 예외처리(Exception handling)방법 file 2016.09.21 4585
59 오토박싱 2016.09.13 3246
58 원하는 패턴의 날짜 구하기 : JAVA 2016.12.09 3608
57 웹브라우저(크롬) 설정하여 웹을 실행해 보자 file 2016.09.19 7205
56 이클립스 html, js 등등의 파일에서 에러표시 지우기 2019.03.05 1447
55 이클립스 플러그인 삭제방법 file 2016.09.19 4721
54 이클립스를 화려하게 꾸며보자 file 2016.09.19 4457
53 이클립스에서 같은 파일을 여러 편집창으로 띄우기 file 2019.03.05 677
52 이클립에서 FTP 접속하면서 Operation failed. File system input or output error 가 날때 file 2019.03.05 878
Board Pagination Prev 1 2 3 4 5 6 7 8 Next
/ 8

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved