JSTL을 이용하면 태그형식으로 조건문, 반복문 등을 사용할 수 있다. EL과 연동하면 더욱더 강력하게 사용이 가능하다. JSTL에 대해 알아보자.
cmd + ;
에서 라이브러리 추가해준다.c:
를 붙여 사용한다.<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:set var="value1" scope="request" value="kang"></c:set>
<html>
<head>
<title>Title</title>
</head>
<body>
성 : ${requestScope.value1} <br>
<c:remove var="value1" scope="request"/> <!--단일태그 가능-->
성 : ${requestScope.value1} <br>
</body>
</html>
성 : kang
성 :
<c:if 조건>
로 사용<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--<%--%>
<%-- request.setAttribute("n", 10);--%>
<%--%>--%>
<c:set var="n" scope="request" value="10"/>
<!-- 위에 둘 다 같은 코드이다-->
<html>
<head>
<title>Title</title>
</head>
<body>
<c:if test="${n == 0}">
n과 0은 같습니다.
</c:if>
<c:if test="${n == 10}">
n과 10은 같습니다.
</c:if>
</body>
</html>
n과 10은 같습니다.
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
request.setAttribute("score", 83);
%>
<html>
<head>
<title>Title</title>
</head>
<body>
<c:choose>
<c:when test="${90 <= score}">
A학점입니다.
</c:when>
<c:when test="${80 <= score}">
B학점입니다.
</c:when>
<c:when test="${70 <= score}">
C학점입니다.
</c:when>
<c:when test="${60 <= score}">
D학점입니다.
</c:when>
<c:otherwise>
F학점입니다.
</c:otherwise>
</c:choose>
</body>
</html>
B학점입니다
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
List<String> list = new ArrayList<>();
list.add("hello");
list.add("world");
list.add("!!!!");
request.setAttribute("list", list);
%>
<html>
<head>
<title>Title</title>
</head>
<body>
<c:forEach items="${list}" begin="1" var="item">
${item}<br>
</c:forEach>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:import url="http://localhost:8080/firstweb_war/jstlValue.jsp" var="urlValue" scope="request"/>
<c:import url="https://google.co.kr" var="google" scope="request"/>
<html>
<head>
<title>Title</title>
</head>
<body>
${urlValue}
${google}
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:redirect url="http://localhost:8080/firstweb_war/jstl05.jsp"/>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<c:set var="t" value="<script type='text/javascript'>alert(1);</script>"/>
<c:out value="${t}" escapeXml="true"/> //자바스크립트 해석하지 않고 그냥 문자열로 뜬다.
${t} //팝업으로 뜬다
</body>
</html>