JSTL 구구단

2022. 12. 19. 14:57JSP

JSTL 는 연산이나 조건문, 반복문 등을 태그로 편하게 처리할 수 있다고 한다.

JSP페이지 내에서 자바코드를 사용하지 않고도 로직을 구현할 수 있도록 효율적인 방법을 제공해 준다고 한다.

 

JSTL 라이브러리 다운로드

archive.apache.org/dist/jakarta/taglibs/standard/binaries/

위 사이트에서 원하는 JSTL버전을 선택하여 zip파일을 다운로드하라고 한다. 후 압축을 해제하고, lib 폴더 내 jstl.jar 와 standard.jar 파일을 day38 프로젝트 내 WebContent 내 WEB-INF 내

lib 내에 추가한다.

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSTL 실습 2</title>
</head>
<body>
<!-- 
	1단 부터 100단까지 중 사용자에게 입력받은 단수로 구구단 출력하기.
	입력받은 값이 정수인지 아닌지 판단, 값을 입력했는지 안했는지 판단.
	다른 페이지 이동 없이 현재 페이지에서만 기능 구현
	자바스크립트 사용 가능
 -->
 <form name="frm">
 	단수: <input type="text" name="name" placeholder="정수 입력"/>
 	<input type="button" value="확인" onclick="danCheck()"/>
 </form>
 
 <c:set var="dan" value="${param.name }"/>
 
 <c:if test="${!empty dan }">
 	<c:choose>
 		<c:when test="${dan>0 && dan<101 }">
 			<c:forEach var="i" begin="1" end="9" step="1">
 				<c:out value="${dan } X ${i } =  ${dan * i }"/><br>
 			</c:forEach>
 		</c:when>
 		<c:otherwise>
 			0보다 크고 101보다 작은 수를 입력해주세요.
 		</c:otherwise>
 	</c:choose>
 </c:if>
</body>
<script>
	function danCheck() {
		var num = parseInt(document.frm.name.value);
		var check = num % 1 == 0;
		if (num == "" || !check || !Number.isInteger(num)) {
			alert("정수만 입력해주세요.");
			return false;
		}
		document.frm.submit();
	}
</script>
</html>