개발노트/JSP_Servlet

[JSP] JSTL (JSP Standard Tag Library)

Dahoon06 2021. 4. 23. 16:34
728x90
반응형

JSP 개발을 단순화하기위한 태그 library

 

** jstl.jar 라이브러리와 standard.jar 라이브러리 필요

 

지시자 선언

 

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

: prefix="아무거나" prefix의 값은 원하는 값을 넣으면 된다
단, 태그를 사용할때 정확히 기입

 

** 일반적으로 core => 앞글자를 따서 c 이렇게 사용한다고 한다.

 

<c:out></c:out> 이런식으로 html태그와 구별 할수 있게 한다.

 

<!-- 지시자 선언 -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>


<body>
	<c:out value="출력 테스트 입니다." /><br />
	<!-- var="변수명" value="변수가 가질 데이터" -->
	<c:set var="msg" value="hello jstl" />
	<!-- value값을 주지 않고 이렇게 태그 사이에 값을 넣어서 표현 가능 -->
	<c:set var="age">
	100
	</c:set>
	<!-- 직접 객체를 집어 넣을 수 있다. -->
	<c:set var="member" value="<%= new com.jdh.javabeans.MemberBean() %>" />
	<!--  -->
	<c:set target="${member }" property="name" value="asdwqweasd" />
	<!-- 간단한 연산 및 비교값 사용 가능 -->
	<c:set var="add" value="${10 - 5 }" />
	<c:set var="flag" value="${10 > 5 }" />
	
	\${msg }<br />
	\${age }<br />
	\${member.name }<br />
	\${add }<br />
	\${flag }<br />
</body>

** 역슬래쉬(\)를 사용하면 그 값이 나오지 않고 \${msg} 이 모습 그대로 출력된다 !! 사용시 주의

 

 

 


Core Tags

아래 코드 추가하고 사용가능함.

 

 

 

<c:if> 를 사용한 예시)

	<c:if test="${param.color == 1 }" >
		<span style="color:red;">빨간색</span>
	</c:if>
	<c:if test="${param.color == 2 }" >
		<span style="color:green;">초록색</span>
	</c:if>
	<c:if test="${param.color == 3 }" >
		<span style="color:blue;">파란색</span>
	</c:if>

 

 

<c:choose> 를 사용한 예시

<c:choose>
		<c:when test="${param.fruit == 1 }">
			<span style="color:pink">사과</span>
		</c:when>
		<c:when test="${param.fruit == 2 }">
			<span style="color:yellow">바나나</span>
		</c:when>
		<c:when test="${param.fruit == 3 }">
			<span style="color:red">딸기</span>
		</c:when>
		<c:when test="${param.fruit == 4 }">
			<span style="color:purple">포도</span>
		</c:when>
		<c:when test="${param.fruit == 5 }">
			<span style="color:green">수박</span>
		</c:when>
	</c:choose>

 

 

<c:forEach>를 사용한 예시

 

<%
	String[] movieList = {"라라랜드","인턴","어바웃타임","겨울왕국","알라딘"};
	pageContext.setAttribute("movie_list", movieList);
%>
	
	<c:forEach var="movie" items="${movie_list }">
		${movie }<br />
	</c:forEach>

브라우저 출력

 

** 자바의 for( : ) {   }  와 기능이 같다. 값이 다 떨어질때까지 반복 돌림

 

<c:forEach var="movie" items="${movie_list }" varStatus="status">
	${status.count } ${movie }<br />
        ${status.index } ${movie }
</c:forEach>

 

 

count)

count는 값을 꺼낼 때 하나씩 증가

 

 

index)

index는 값의 인덱스 번호를 출력

 

 

 


function Tag

많은 표준 함수를 제공, 대부분은 일반적인 문자열 조작 함수
JSTL 함수 라이브러리를 포함시키는 데 사용되는 구문

 

 

 

 


JSTL Formatting tags

서식 태그는 메시지 형식, 번호 및 날짜 형식 등을 지원
국제화 된 웹 사이트에서 텍스트, 시간, 날짜 및 숫자를 표시하고 형식화하는 데 사용
라이브러리를 포함하는 데 사용되는 구문

 

 

 

 


XML tags

JSP 중심의 XML 문서 조작 및 작성 방법을 제공하는 데 사용
XML 데이터와 상호 작용하는 데 사용되는 사용자 정의 태그 제공
흐름 제어, 변환 등을 제공
라이브러리를 포함하는 데 사용되는 구문

 

 


SQL Tags

SQL 지원을 제공
사용하면 Microsoft SQL Server, mySQL, or Oracle 와 상호작용 가능

 

 

 

 


728x90
반응형

'개발노트 > JSP_Servlet' 카테고리의 다른 글

[JSP] Servlet  (0) 2021.04.26
[JSP] EL 표현식  (0) 2021.04.23
[JSP] Action Tag  (0) 2021.04.22
[JSP] JSP(JavaServerPages)  (0) 2021.04.21
[JSP] 값 전달  (0) 2021.04.21