JSP

JSTL(JSP Standard Tag Library) - 3. choose 사용

에어팟맥스 2022. 8. 31. 23:23

실행 파일 - 입력한 주민번호로 성별 파악하기

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>입력한 주민번호로 성별 파악하기</title>
</head>
<body>

	<form action="03_choose_result_02.jsp">
	주민번호 : <input type="text" name="jubun" />
	<input type="submit" value="확인" />
	<input type="reset"  value="취소" />
	</form>

</body>
</html>

 

결과 파일 - choose 를 사용하여 전송되어 온 주민번호로 성별을 파악한 결과물 출력하기

 

choose 태그 안에 when태그가 자바의 if, else if절과 같은 기능을 하고 

                             otherwise태그가 else절의 역할을 한다고   있다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%-- ==== JSTL(JSP Standard Tag Library) 사용하기 ==== --%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>choose 를 사용하여 전송되어 온 주민번호로 성별을 파악한 결과물 출력하기</title>
</head>
<body>

	<c:set var="jubun" value="${param.jubun}"/>
	<c:set var="gender_no" value="${fn:substring(jubun, 6, 7)}" />
	<c:set var="jubun_length"  value="${fn:length(jubun)}" />	
	
	주민번호: ${jubun} <br>
	성별을 나타내주는 숫자: ${gender_no}
	
	<c:if test="${jubun_length eq 0}">
		<span style="color: red">주민번호를 입력하지 않으셨습니다.!!</span><br>
	</c:if>
	
	<c:if test="${jubun_length ne 0 and jubun_length ne 13 }">
		<span style="color: red">주민번호의 길이가 맞지 않습니다.!!</span><br>
	</c:if>
	
	<c:if test="${jubun_length eq 13}">
		<c:choose>
			<c:when test="${gender_no eq '1' }">
				1900년대생 남자입니다.
			</c:when>
			
			<c:when test="${gender_no eq '2' }">
				1900년대생 여자입니다.
			</c:when>
			
			<c:when test="${gender_no eq '3' }">
				2000년대생 남자입니다.
			</c:when>
			
			<c:when test="${gender_no eq '4' }">
				2000년대생 여자입니다.
			</c:when>
			
			<c:otherwise>
			주민번호 7번째 자리의 값이 1부터 4가 아닙니다.
			</c:otherwise>
			
		</c:choose>
		
	</c:if>
</body>
</html>