반응형

# MVC03_10 JSTL 활용하기_ArrayList

## JSTL 실습_foreach

  • 프로젝트 > WebContent > view > jstl05.jsp 생성
  • Controller 와 JSP 를 별도로 만들어야 하지만 하나의 페이지에서 실습.
  • items는 여러개의 형태를 받을 때 사용.
  • items에는 변수(var) 또는 속성이 올 수 있다.
  • 아래처럼 작업 시 str을 그대로 items에서 사용할 수 없고, setAttribute를 하여 속성으로 받아서 사용 가능하다.
str 그대로 items 에서 사용 x
<%	
    String[] str = {"사과", "바나나", "포도", "귤", "오렌지"};
%>


아래와 같이 setAttribute 진행 시 사용 가능
<%	
    String[] str = {"사과", "바나나", "포도", "귤", "오렌지"};
	request.setAttribute("str", str);
%>
  • 아래와 같이 사용 가능하다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
	// Controller 에서 JSP로 데이터를 넘긴다는 가정하에 작업 수행.
	// Controller -> JSP
	String[] str = {"사과", "바나나", "포도", "귤", "오렌지"};
	request.setAttribute("str", str);	// 객체 바인딩
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<c:forEach var="f" items="${str}">
		${f}<br>
	</c:forEach>	
</body>
</html>

## JSTL 실습_ArrayList

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
	List<String> list = new ArrayList<String>();
	list.add("Python");
	list.add("Java");
	list.add("Node.js");
	list.add("C++");
	list.add("JQuery");
	request.setAttribute("list", list);		// 객체 바인딩
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<c:forEach var="sw" items="${list}">
		${sw}<br>
	</c:forEach>
</body>
</html>

## JSTL 실습_객체 데이터(vo) 출력

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="kr.bit.model.*" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
	MemberVO vo = new MemberVO();
	vo.setNum(1);
	vo.setId("abcde");
	vo.setName("뽀로로");
	vo.setEmail("qhqhqh@naver.com");
	request.setAttribute("vo", vo);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<table border="1">
		<tr>
			<td>번호</td>
			<td>아이디</td>
			<td>이름</td>
			<td>이메일</td>
		</tr>
		<tr>
			<td>${vo.num}</td>
			<td>${vo.id}</td>
			<td>${vo.name}</td>
			<td>${vo.email}</td>
		</tr>
	</table>
</body>
</html>
반응형

+ Recent posts