: JSP Standard Tag Library의 약어
WebContent
-WEB-INF
-lib
에 library 파일을 넣어줘야함<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
입력
- jsp에는
html
/css
/java script
+java
+jsp tag
혼재 되어 사용됨- 개발 권장 사항은
가급적 jsp에 순수 java 코드 최소화
(<% %>
사용해서 jsp 내부에 java 코드 넣는 것 비추)
<c:if test="${조건}"></c:if>
: 단일 조건<c:choose><c:when test="${조건1}"></c:when>
<c:otherwise></c:otherwise></c:choose>
: 다중 조건, 조건1 & 그외(else)<!-- jstl tag 활용을 위한 설정 -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!-- html 관련 태그 생략 -->
<h3>[1] 조건 tag</h3>
<%-- 조건식이 하나인 경우 사용하는 tag --%>
<c:if test="${'a'=='a'}">
1. 조건식이 true <br>
</c:if>
<c:if test="${'a'!='a'}">
2. 'a' != 'a' 조건식 <br>
</c:if>
<br><hr><br>
<%-- 다중 조건식인 경우 사용하는 tag --%>
<c:choose>
<c:when test="${1==1}">
3. 1==1 인 경우 <br>
</c:when>
<c:when test="${1==2}">
4. 1==2 인 경우 <br>
</c:when>
<c:otherwise>
5. 모든 조건식이 false인 경우 실행 <br>
</c:otherwise>
</c:choose>
<c:forEach begin="시작숫자" end="끝숫자" step="간격" var="변수 이름"></c:forEach>
<c:forEach items="${반복할 객체}" var="변수 이름"></c:forEach>
items
내부에 ${}
EL tag 사용하여 객체 이름 입력해야함<!-- jstl tag 활용을 위한 설정 -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!-- html 관련 태그 생략 -->
<h3>[2] 반복 tag</h3>
<%-- 숫자 반복 --%>
<c:forEach begin="1" end="5" step="2" var="data">
${data}-
</c:forEach>
<br><br>
<c:forEach begin="1" end="5" step="2" var="data" varStatus="pd">
순번 : ${pd.count} - 데이터 : ${data} <br>
</c:forEach>
<br><hr><br>
<%-- 객체 반복 --%>
<%
Person[] v4 = {new Person("재석1", 10),
new Person("재석2", 20),
new Person("재석3", 30),
new Person("재석4", 40)};
request.setAttribute("v4", v4);
%>
<%-- ${data} 즉 브라우저에 출력시에도 toString 메소드가 자동 호출 --%>
<c:forEach items="${v4}" var="data">
${data} <br>
</c:forEach>
<br>
<%-- Person 객체 안의 멤버 변수 하나씩 호출하여 출력 --%>
<c:forEach items="${v4}" var="data">
이름 : ${data.name} / 나이 : ${data.age} <br>
</c:forEach>
<br><hr><br>
<%
HashMap<String, String> v7 = new HashMap<>();
v7.put("k1","재석");
v7.put("k2","종원");
request.setAttribute("v7", v7);
%>
<%-- key=valye 구조로 출력 --%>
<c:forEach items="${v7}" var="data">
key=value 구조 : ${data} /
</c:forEach>
<br><br>
<%-- key와 value 각각 출력 --%>
<c:forEach items="${v7}" var="data">
key : ${data.key} / value : ${data.value} <br>
</c:forEach>
새로운 용어들을 와다닥 배우고 약자만 사용하다보니 슬슬 헷갈리기 시작해서 하는 용어 정리 📚
HTTPServlet
상속) 동족 웹 페이지 생성, 데이터 처리를 수행하는 자바 프로그램html tag
/ jsp tag
/ EL
/ JSTL
로 구성됨