WEB/JSP

JSP 05 - 디렉티브 태그 ( taglib02 )

inderrom 2022. 12. 26. 12:33
<FruitVO.java>
package kr.or.ddit.vo;

// 자바빈 클래스, 멤버변수, 기본생성자, getter/setter메소드
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 + "]";
	}
	
	
}

 

<taglib02.jsp>
<%@page import="java.util.List"%>
<%@page import="kr.or.ddit.vo.FruitVO"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!-- 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>
<title>Directives Tag</title>
</head>
<body>

<hr>
	<c:set var="fruitVOList" value="<%=fruitVOList %>"></c:set>
<hr>
	<!-- 
	 JSTL 중에서 core 사용
	 var : variable(변수)
	 items (잘 사용함) : 전체 데이터(List, Array)
	 varStatus (가끔씩 사용함)   : index(0부터 시작),
	 							   count(1부터 시작)
	  -->
	 							   
	<c:forEach var="fruitVO"  items="${fruitVOList }" varStatus="stat">
		<p>
			${fruitVO.fruitId } : ${fruitVO.fruitName }
		</p>
	</c:forEach>

</body>
</html>

-- 잘 쓰는 태그 라이브러리 : var, items, varStatus

	<c:set var="fruitVOList" value="<%=fruitVOList %>"></c:set>

- taglib02.jsp 안에서 자바코드와 jsp를 연결해준다.

 

 

출력했을 때

 

 


<c:forEach var="ansicityVO"  items="${ansicityList }" varStatus="stat">
		<p
			<c:if test="${stat.index%2==0}">style='background:blue;'</c:if>
		>	${stat.index } : ${stat.count} :

-- p태그 안에 index가 짝수일 경우 스타일을 줄 수 있다.