Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

방카@Dev

[JSP]JSTL(Jsp Standard Tag Library) CORE 태그 본문

BackEnd/JSP

[JSP]JSTL(Jsp Standard Tag Library) CORE 태그

방카킴 2024. 5. 16. 12:26

 

➡️JSTL 태그 종류

종류 기능 접두어 URI
Core 태그 변수 선언, 조건문/반복문, URL 처리 c jakarta.tags.core
Formatting 태그 숫자, 날짜, 시간 포맷 지정 fmt jakarta.tags.fmt
XML 태그 XML 파싱 x jakarta.tags.xml
Function 태그 컬렉션, 문자열 처리 fn jakarta.tags.functions
SQL 태그 데이터베이스 연결 및 쿼리실행 sql jakarta.tags.sql

 

➡️ CORE 태그 종류

//지시어
<%@ taglib prefix="c" uri="jakarta.tags.core" %>

//톰캣 9.0 이하의 경우
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
태그명 기능
set 변수 설정
remove 변수 제거
if 단일 조건문 처리(else 없음)
choose 다중 조건을 처리(하위에 when~otherwise 태그)
forEach 반복문 처리
forTokens 구분자로 분리된 각각의 토큰 처리
import 외부 페이지를 삽입
redirect 지정한 경로로 이동
url 경로 설정
out 내용 출력
catch 예외 처리

 

1. set : 변수설정

<c:set var="변수명" value="값" scope="영역"/>

 

※ 객체 설정 시

<c:set var="변수명" value="저장할 객체 혹은 컬렉션" scope="영역"/>
<c:set target="var로 설정한 변수명" property="객체의 속성명" value="속성값">

➡️ 예시

	<c:set value="Hello World" var="msg"/>
	msg : ${msg}

 

2.remove : 변수 제거

<c:remove var="변수명" scope="영역"/>

 

➡️ 예시

	<c:set value="batman" var="msg"/>
        msg: <c:out value="${msg}"/><br>
        msg: ${msg}<br>
        <c:remove var="msg"/>
	after remove : <c:out value="${msg}"/>

 

3.if : 단일 조건문 처리

<c:if test="조건" var="변수명" scope="영역">
	조건이 true일 때 출력할 문장
</c:if>

➡️ 예시

	<c:set value = "superman" var = "msg"/>
	msg : ${msg} <br>
    
	<c:if test="${msg=='superman'}" var="result">
		test result : ${result}
	</c:if>

 

4.choose : 다중 조건 처리

<c:choose>
	<c:when test="조건1">조건1을 만족하는 경우</c:when>
	<c:when test="조건2">조건2을 만족하는 경우</c:when>    
    <c:otherwise>아무 조건도 만족하지 않는 경우</c:otherwise>
</c:choose>
	<form>
        <select name = "sel">
            <option>-</option>
            <option>a</option>
            <option>b</option>
            <option>c</option>
            <option>d</option>
		</select>
		<input type="submit" value="선택"/>
	</form>
	<hr>
    
	<c:choose>
        <c:when test="${param.sel=='a'}">
            a를 선택
        </c:when>
        <c:when test="${param.sel=='b'}">
            b를 선택
        </c:when>
        <c:when test="${param.sel=='c'}">
            c를 선택
        </c:when>
        <c:otherwise>
            a,b,c 이외의 것을 선택
        </c:otherwise>
	</c:choose>

 

5.forEach : 반복문 처리

//일반 for문 형태
<c:forEach var="변수명" begin="시작값" end="마지막값" step="증가값"/>
//향상된 for문 형태
<c:forEach var="변수명" items="컬렉션 혹은 배열"/>
for (int number : numbers){....}

➡️ 예시

<form name=form1 method="post" action="../EL2/Sel.jsp">
		<jsp:useBean id="eltest" class="el.test.Eltest" scope="session"/>
			
			<select name="sel">
				<c:forEach items="${eltest.productList}" var="item">
					<option>${item}</option>
				</c:forEach>
			</select>
		<input type="submit" value="선택"/>
	</form>

 

6.forTokens : 구분자로 분리된 각각의 토큰 처리

<c:forTokens items="문자열" delims="문자열 구분자" var="변수명"/>
	<c:forTokens items="123-456-789" delims="-" var="sel">
		${sel}<br>
	</c:forTokens>

 

7.import : 외부 페이지를 삽입

<c:import url="페이지 경로 혹은 URL" scope="영역"/>

<c:import url="페이지 경로 혹은 URL" var="변수명" scope="영역"/>
${ 변수명 }

<c:import url="페이지 경로 혹은 URL?매개변수1=값1">
	<c:param name="매개변수2" value="값2"/>
<c:import>

➡️ 예시

	<c:import url="set.jsp" var="myurl"/>
	<c:out value="${myurl}" escapeXml="false"/>

 

8.redirect : 지정한 경로로 이동

	<c:redirect url="choose.jsp">
		<c:param name="sel">a</c:param>
	</c:redirect>

 

9.url : 경로 설정

	<c:url value="choose.jsp" var="target">
		<c:param name="sel">a</c:param>
	</c:url>
	<hr>
	단순출력 : ${target} <BR>
	링크연동 : <a href="${target}">choose.jsp-a 선택</a>

 

10.out 내용 출력

<c:out value="출력할 변수" default="기본값" escapeXml="특수문자 처리 유무"/>
<c:out value="${msg}"/>

 

11.catch : 예외 처리

	<c:catch var="errMsg">
		<%=9/0 %>
	</c:catch>

'BackEnd > JSP' 카테고리의 다른 글

[JSP]영역 객체(Scope)  (0) 2024.05.17
[JSP] Java Beans  (0) 2024.05.16
[JSP]MVC Pattern2_게시판 CRUD 기능  (0) 2024.05.09