기록하는 코더

[JSP] 디렉티브(Directives Tag) - taglib 본문

JSP

[JSP] 디렉티브(Directives Tag) - taglib

damda_di 2022. 12. 26. 11:50
JSP 태그 스크립트 태그
디렉티브 태그
액션 태그

 

 

디렉티브 태그의 종류
Page 태그  <%@ page ...%> 
Include 태그 <%@ iclude ...%>
taglib 태그 <%@ taglib ...%> 

 

taglib 디렉티브 : 표현 언어 (Expression Language) JSTL 설정시 사용
- uri : 설정 정보를 가진 경로 주소
- prefix : uri 대신 식별해주는 별칭
- $ { }  ==>  EL (Expression Language)
- JSTL ==> <C: ..>, <fmt: ..> , <fn: ..>

 

 

** 상단 태그는 page language > tagkub > import 순으로 정리해주는 편이 좋다.

ex)

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page import="kr.or.ddit.vo.FruitVO"%>
<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>

 


tablig 기본예제-1

	<!-- 
 	JSTL 중에서 core 사용
 	var : variable(변수)
 	begin(잘 사용 안함) : 시작 숫자
 	end(잘 사용 안함) : 끝 숫자
 	step(잘 사용 안함) : 증가
 	1에서 10까지 1씩 증가되면서 k 변수에 값이 들어감
 	-->
	<c:forEach var="k" begin="1" end="10" step="1">
		<p><c:out value="${k}" /></p>
	</c:forEach>

출력결과

 

 

 

Java 영역에서 VO를 만들어 JSTL 영역으로 가져오는 예제

1. 자바 영역에서 VO를 만들어주기

package kr.or.ddit.vo;

// 자바빈 클래스. 멤버변수, 기본생성자, getter/setter메소드
// (Java Bean Class)
public class FruitVO {
	// 멤버변수
	private String fruitId;
	private String fruitName;
	
	// 기본생성자(생략가능)
	public FruitVO(){}
	
	// 생성자. 파라미터의 값을 매개변수로 받아서 멤버변수에 할당
	public FruitVO(String fruitId, String fruitName) {
		// 멤버변수 = 매개변수
		this.fruitId = fruitId;
		this.fruitName = fruitName;
	}

	// getter/setter메소드
	public String getFruitId() {
		return fruitId;
	}
	public void setFruitId(String fruitId) {
		this.fruitId = fruitId;
	}
	public String getFruitName() {
		return fruitName;
	}
	public void setFruitName(String fruitName) {
		this.fruitName = fruitName;
	}
	@Override
	public String toString() {
		return "FruitVO [fruitId=" + fruitId + ", fruitName=" + fruitName + "]";
	}
}

2. 설정을 통해 Java 영역에 있는 VO를 JSTL 영역으로 가져올 수 있다.

(아스그리드의 헤임달과 같은 역할...)

헤임달 : ?

<c:set var="가져오려는변수명" value="가져오려는 값" />

ex)
<c:set var="fruitVO" value="<%=fruitVOList%>">
fruitVO형태로 fruitVOList값을 가져온다!

 

 

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page import="kr.or.ddit.vo.FruitVO"%>
<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<!-- 
taglib 디렉티브 : 표현 언어 (Expression Language) JSTL 설정시 사용
	- uri : 설정 정보를 가진 경로 주소
	- prefix : uri 대신 식별해주는 별칭
 -->
 <%
 	// List : interface
 	List<FruitVO> fruitVOList = new ArrayList<FruitVO>();
 
 	FruitVO fruitVO
		 		= new FruitVO("f01","용과");
 	fruitVOList.add(fruitVO);
		 	fruitVO
				= new FruitVO("f02","귤");
 	fruitVOList.add(fruitVO);
		 	fruitVO
				= new FruitVO("f03","사과");
 	fruitVOList.add(fruitVO);
		 	fruitVO
				= new FruitVO("f04","딸기");
 	fruitVOList.add(fruitVO);
		 	fruitVO
				= new FruitVO("f05","바나나");
 	fruitVOList.add(fruitVO);
 %>
 <%=fruitVOList %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Directives Tag</title>
</head>
<body>
<hr />
	<c:set var="fruitVOList" value="<%=fruitVOList %>" />
<hr />
	<!-- 
 	JSTL 중에서 core 사용
 	var : variable(변수). 1행.
 	items(잘 사용함) : 전체데이터 (List, Array)
 	varStatus(가끔씩 사용함) : index(0부터 시작),count (1부터 시작)
 	-->
 	
	<c:forEach var="fruitVO" items="${fruitVOList}" varStatus="stat">
		<p>
			<c:out value="${fruitVO.fruitId} : ${fruitVO.fruitName}" />
		</p>
	</c:forEach>
</body>
</html>

 

 

이전에 썼던 디렉티브 태그 글

2022.12.26 - [JSP] - [JSP] 디렉티브(Directives Tag) - Include

 

[JSP] 디렉티브(Directives Tag) - Include

JSP의 태그 (스크립트 태그, 디렉티브 태그, 액션태그) 중 디렉티브 태그에 대해서 써보려고 한다. JSP 태그 스크립트 태그 디렉티브 태그 액션 태그 디렉티브 태그는 JSP 페이지를 어떻게 처리할

damdadi-dam.tistory.com

 

'JSP' 카테고리의 다른 글

[JSP] request객체와 response 객체  (0) 2022.12.28
[JSP] 디렉티브(Directives Tag) - Page  (0) 2022.12.26
[JSP] JSP Template 만들기  (0) 2022.12.26
[JSP] 스크립트 태그  (0) 2022.12.26
[JSP] 디렉티브(Directives Tag) - Include  (0) 2022.12.26