์ฃผ์†Œ JSP(4)

์ตœํ˜„์„ยท2022๋…„ 10์›” 24์ผ
0

JSP

๋ชฉ๋ก ๋ณด๊ธฐ
8/13

๐Ÿงฉjoin_view.jsp(์ฃผ์†Œ ์ถ”๊ฐ€)

<p>
			์šฐํŽธ๋ฒˆํ˜ธ <input name="zipcode" type="text" id="sample6_postcode" placeholder="์šฐํŽธ๋ฒˆํ˜ธ">
			<input type="button" onclick="sample6_execDaumPostcode()" value="์šฐํŽธ๋ฒˆํ˜ธ ์ฐพ๊ธฐ"><br>
		</p>
		<p>
			์ฃผ์†Œ <input type="text" id="sample6_address" placeholder="์ฃผ์†Œ" name="addr"><br>
		</p>
		<p>
			์ƒ์„ธ์ฃผ์†Œ <input type="text" id="sample6_detailAddress" placeholder="์ƒ์„ธ์ฃผ์†Œ" name="addrdetail">
		</p>
		<p>
			์ฐธ๊ณ ํ•ญ๋ชฉ <input type="text" id="sample6_extraAddress" placeholder="์ฐธ๊ณ ํ•ญ๋ชฉ" name="addretc">
		</p>

๐Ÿงฉjoin_view.jsp

// ์ฃผ์†Œ
function sample6_execDaumPostcode() {
    new daum.Postcode({
        oncomplete: function(data) {
            // ํŒ์—…์—์„œ ๊ฒ€์ƒ‰๊ฒฐ๊ณผ ํ•ญ๋ชฉ์„ ํด๋ฆญํ–ˆ์„๋•Œ ์‹คํ–‰ํ•  ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ถ€๋ถ„.

            // ๊ฐ ์ฃผ์†Œ์˜ ๋…ธ์ถœ ๊ทœ์น™์— ๋”ฐ๋ผ ์ฃผ์†Œ๋ฅผ ์กฐํ•ฉํ•œ๋‹ค.
            // ๋‚ด๋ ค์˜ค๋Š” ๋ณ€์ˆ˜๊ฐ€ ๊ฐ’์ด ์—†๋Š” ๊ฒฝ์šฐ์—” ๊ณต๋ฐฑ('')๊ฐ’์„ ๊ฐ€์ง€๋ฏ€๋กœ, ์ด๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ๋ถ„๊ธฐ ํ•œ๋‹ค.
            var addr = ''; // ์ฃผ์†Œ ๋ณ€์ˆ˜
            var extraAddr = ''; // ์ฐธ๊ณ ํ•ญ๋ชฉ ๋ณ€์ˆ˜

            //์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒํ•œ ์ฃผ์†Œ ํƒ€์ž…์— ๋”ฐ๋ผ ํ•ด๋‹น ์ฃผ์†Œ ๊ฐ’์„ ๊ฐ€์ ธ์˜จ๋‹ค.
            if (data.userSelectedType === 'R') { // ์‚ฌ์šฉ์ž๊ฐ€ ๋„๋กœ๋ช… ์ฃผ์†Œ๋ฅผ ์„ ํƒํ–ˆ์„ ๊ฒฝ์šฐ
                addr = data.roadAddress;
            } else { // ์‚ฌ์šฉ์ž๊ฐ€ ์ง€๋ฒˆ ์ฃผ์†Œ๋ฅผ ์„ ํƒํ–ˆ์„ ๊ฒฝ์šฐ(J)
                addr = data.jibunAddress;
            }

            // ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒํ•œ ์ฃผ์†Œ๊ฐ€ ๋„๋กœ๋ช… ํƒ€์ž…์ผ๋•Œ ์ฐธ๊ณ ํ•ญ๋ชฉ์„ ์กฐํ•ฉํ•œ๋‹ค.
            if(data.userSelectedType === 'R'){
                // ๋ฒ•์ •๋™๋ช…์ด ์žˆ์„ ๊ฒฝ์šฐ ์ถ”๊ฐ€ํ•œ๋‹ค. (๋ฒ•์ •๋ฆฌ๋Š” ์ œ์™ธ)
                // ๋ฒ•์ •๋™์˜ ๊ฒฝ์šฐ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๊ฐ€ "๋™/๋กœ/๊ฐ€"๋กœ ๋๋‚œ๋‹ค.
                if(data.bname !== '' && /[๋™|๋กœ|๊ฐ€]$/g.test(data.bname)){
                    extraAddr += data.bname;
                }
                // ๊ฑด๋ฌผ๋ช…์ด ์žˆ๊ณ , ๊ณต๋™์ฃผํƒ์ผ ๊ฒฝ์šฐ ์ถ”๊ฐ€ํ•œ๋‹ค.
                if(data.buildingName !== '' && data.apartment === 'Y'){
                    extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName);
                }
                // ํ‘œ์‹œํ•  ์ฐธ๊ณ ํ•ญ๋ชฉ์ด ์žˆ์„ ๊ฒฝ์šฐ, ๊ด„ํ˜ธ๊นŒ์ง€ ์ถ”๊ฐ€ํ•œ ์ตœ์ข… ๋ฌธ์ž์—ด์„ ๋งŒ๋“ ๋‹ค.
                if(extraAddr !== ''){
                    extraAddr = ' (' + extraAddr + ')';
                }
                // ์กฐํ•ฉ๋œ ์ฐธ๊ณ ํ•ญ๋ชฉ์„ ํ•ด๋‹น ํ•„๋“œ์— ๋„ฃ๋Š”๋‹ค.
                document.getElementById("sample6_extraAddress").value = extraAddr;
            
            } else {
                document.getElementById("sample6_extraAddress").value = '';
            }

            // ์šฐํŽธ๋ฒˆํ˜ธ์™€ ์ฃผ์†Œ ์ •๋ณด๋ฅผ ํ•ด๋‹น ํ•„๋“œ์— ๋„ฃ๋Š”๋‹ค.
            document.getElementById('sample6_postcode').value = data.zonecode;
            document.getElementById("sample6_address").value = addr;
            // ์ปค์„œ๋ฅผ ์ƒ์„ธ์ฃผ์†Œ ํ•„๋“œ๋กœ ์ด๋™ํ•œ๋‹ค.
            document.getElementById("sample6_detailAddress").focus();
        }
    }).open();

๐ŸงฉDB

-- ์ฃผ์†Œ์นผ๋Ÿผ ์ถ”๊ฐ€
SELECT * FROM TBL_USER tu ;

ALTER TABLE TBL_USER ADD (
	zipcode		varchar2(100),
	addr		varchar2(300),
	addrdetail	varchar2(1000),
	addrdetc	varchar2(500)
);

๐ŸงฉUserBean.java(์ฃผ์†Œ ์ถ”๊ฐ€)

public class UserBean {
	,,,,
	private String zipcode;
	private String addr;
	private String addrdetail;
	private String addretc;
	,,,,
	public String getZipcode() {
		return zipcode;
	}
	public void setZipcode(String zipcode) {
		this.zipcode = zipcode;
	}
	public String getAddr() {
		return addr;
	}
	public void setAddr(String addr) {
		this.addr = addr;
	}
	public String getAddrdetail() {
		return addrdetail;
	}
	public void setAddrdetail(String addrdetail) {
		this.addrdetail = addrdetail;
	}
	public String getAddretc() {
		return addretc;
	}
	public void setAddretc(String addretc) {
		this.addretc = addretc;
	}
	
}

๐Ÿงฉuser.xml(์ฃผ์†Œ ์ถ”๊ฐ€)

<mapper namespace="User">
	<select id="checkId" parameterType="string"  resultType="_int">
	 	SELECT count(*) FROM TBL_USER tu  WHERE USERID = #{userid}
	</select>
	
	<insert id="join" parameterType="com.koreait.web.beans.UserBean">
		INSERT INTO TBL_USER 
			VALUES(#{userid}, #{userpw}, #{username}, #{usergender}, #{userphone},
					#{zipcode},#{addr},#{addrdetail},#{addretc} )
	</insert>
	
	<select id="login" parameterType="hashmap" resultType="com.koreait.web.beans.UserBean">
		SELECT * FROM TBL_USER tu  WHERE USERID = #{userid} AND userpw = #{userpw}
	</select>
	

</mapper>

๐Ÿงฉ๊ฒฐ๊ณผ

0๊ฐœ์˜ ๋Œ“๊ธ€