JSTL(JSP Standard Tag Library) - accidentlywoo/legacyVue GitHub Wiki

JSTL(JSP Standard Tag Library)

  • ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ํ”„๋ก ํŠธ ๊ฐœ๋ฐœ์ž๊ฐ€ JSP๋ฅผ ์ˆ˜์ •ํ•˜๋Š”๋ฐ, JSP ์•ˆ์— ์ž๋ฐ”์ฝ”๋“œ์™€ HTML์ฝ”๋“œ๊ฐ€ ์„ž์—ฌ ์žˆ๋‹ค๋ฉด ์ˆ˜์ •ํ•  ๋•Œ ๊ต‰์žฅํžˆ ์–ด๋ ค์›€์„ ๋Š๋ผ๊ฒŒ ๋  ๊ฐ€๋Šฅ์„ฑ์ด ํฝ๋‹ˆ๋‹ค.์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋“ฑ์žฅํ•œ ๊ฒƒ์ด JSTL์ž…๋‹ˆ๋‹ค. JSTL์„ ์ด์šฉํ•˜๋ฉด ํƒœ๊ทธํ˜•์‹์œผ๋กœ ์กฐ๊ฑด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ ๋“ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , ์•ž์—์„œ ๋ฐฐ์šด EL๊ณผ ์—ฐ๋™ํ•ด์„œ ๋”์šฑ ๊ฐ•๋ ฅํ•˜๊ฒŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์—” ์ด๋Ÿฌํ•œ JSTL์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ•™์Šต ๋ชฉํ‘œ

  1. JSTL์„ ์ดํ•ดํ•œ๋‹ค.
  2. JSTL์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•ต์‹ฌ ๊ฐœ๋…

  • JSTL
  • core tag

ํ•™์Šต ํ•˜๊ธฐ

JSTL ์ด๋ž€?

  • JSTL(JSP Standard Tag Library)์€ JSP ํŽ˜์ด์ง€์—์„œ ์กฐ๊ฑด๋ฌธ ์ฒ˜๋ฆฌ, ๋ฐ˜๋ณต๋ฌธ ์ฒ˜๋ฆฌ ๋“ฑ์„ html tag ํ˜•ํƒœ๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ค๋‹ˆ๋‹ค.

JSTL์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด?

  • http://tomcat.apache.org/download-taglibs.cgi
  • ์œ„์˜ ์‚ฌ์ดํŠธ์—์„œ 3๊ฐ€์ง€ jarํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ํ•œ ํ›„ WEB-INF/lib/ ํด๋”์— ๋ณต์‚ฌ๋ฅผ ํ•œ๋‹ค.

JSTL์ด ์ œ๊ณตํ•˜๋Š” ํƒœ๊ทธ์˜ ์ข…๋ฅ˜

์ฝ”์–ด ํƒœ๊ทธ

์ฝ”์–ด ํƒœ๊ทธ : ๋ณ€์ˆ˜ ์ง€์› ํƒœ๊ทธ - set,remove

์‹ค์Šต ์ฝ”๋“œ

jstl01.jsp set, remove์˜ ํ™œ์šฉ `<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <c:set var="value1" scope="request" value="kang"/>

<title>Insert title here</title>

์„ฑ : ${value1}

<c:remove var="value1" scope="request"/>

์„ฑ : ${value1 }

`

์ฝ”์–ด ํƒœ๊ทธ : ๋ณ€์ˆ˜ ์ง€์› ํƒœ๊ทธ - ํ”„๋กœํผํ‹ฐ, ๋งต์˜ ์ฒ˜๋ฆฌ

์ฝ”์–ด ํƒœ๊ทธ:ํ๋ฆ„์ œ์–ด ํƒœ๊ทธ

์‹ค์Šต์ฝ”๋“œ

jstl02.jsp if ํ™œ์šฉ `<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <% request.setAttribute("n", 10); %>

<title>Insert title here</title> n์€ ๊ณผ 0๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

<c:if test="${n == 10}"> n์€ ๊ณผ 10๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. </c:if>

`

์ฝ”์–ด ํƒœ๊ทธ : ํ๋ฆ„์ œ์–ด ํƒœ๊ทธ - choose

์‹ค์Šต ์ฝ”๋“œ

jstl03.jsp switch์˜ ํ™œ์šฉ `<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page import="java.util.*" %> <% request.setAttribute("score", 83); %>

<title>Insert title here</title> Aํ•™์ ์ž…๋‹ˆ๋‹ค. Bํ•™์ ์ž…๋‹ˆ๋‹ค. Cํ•™์ ์ž…๋‹ˆ๋‹ค. Dํ•™์ ์ž…๋‹ˆ๋‹ค. Fํ•™์ ์ž…๋‹ˆ๋‹ค. `

์ฝ”์–ด ํƒœ๊ทธ : ํ๋ฆ„์ œ์–ด ํƒœ๊ทธ - forEach

์‹ค์Šต ์ฝ”๋“œ

jstl04.jsp forEach์˜ ํ™œ์šฉ `<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page import="java.util.*" %> <% List list = new ArrayList<>(); list.add("hello"); list.add("world"); list.add("!!!"); request.setAttribute("list", list); %>

<title>Insert title here</title> ${item }
`

์ฝ”์–ด ํƒœ๊ทธ : ํ๋ฆ„์ œ์–ดํƒœ๊ทธ - import

์‹ค์Šต ์ฝ”๋“œ

jstlValue.jsp import์˜ ํ™œ์šฉ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> Woo YeonHui

jstl05.jsp import์˜ ํ™œ์šฉ `<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page import="java.util.*" %> <c:import url="http://localhost:8080/webapp/jstlValue.jsp" var="urlValue" scope="request"></c:import>

<title>Insert title here</title> ์ฝ์–ด๋“ค์ธ ๊ฐ’ : ${urlValue} `

์ฝ”์–ด ํƒœ๊ทธ : ํ๋ฆ„์ œ์–ดํƒœ๊ทธ - redirect

์‹ค์Šต ์ฝ”๋“œ

jtl06.jsp redirect์˜ ํ™œ์šฉ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <c:redirect url="jstlRedirectPage.jsp"></c:redirect>

jstlRedirectPage.jsp redirect์˜ ํ™œ์šฉ `<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<title>Insert title here</title>

redirect๋œ ํ™”๋ฉด์ž…๋‹ˆ๋‹ค.

`

์ฝ”์–ด ํƒœ๊ทธ : ๊ธฐํƒ€ํƒœ๊ทธ - out

์ฝ”๋“œ์‹ค์Šต

jstl07.jsp out์˜ ํ™œ์šฉ `<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>

<title>Insert title here</title> ${t} `

์ƒ๊ฐํ•ด๋ณด๊ธฐ

  1. JSTL์˜ ํƒœ๊ทธ๋Š” XML ํƒœ๊ทธ ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฐ˜๋“œ์‹œ ํƒœ๊ทธ๊ฐ€ ๋‹ซํžˆ๊ฑฐ๋‚˜ '/>'๋กœ ๋๋‚˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. JSP๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋ฌธ๋ฒ• ์ค‘ ์‚ฌ์šฉ์ž ์ •์˜ ํƒœ๊ทธํ•˜๋Š” ๊ฒƒ์„ ํ†ตํ•ด ๋งŒ๋“ค์–ด์กŒ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์—” JSTL์˜ coreํƒœ๊ทธ์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ดค๋Š”๋ฐ์š”. ๊ทธ ์™ธ์˜ ํƒœ๊ทธ๋“ค์—๋Š” ์–ด๋–ค๊ฒŒ ์žˆ๋Š”์ง€ ์ฐพ์•„๋ณด๊ณ , ์™œ ๊ทธ๋Ÿฌํ•œ ํƒœ๊ทธ๊ฐ€ ํ•„์š”ํ•œ์ง€ ์ƒ๊ฐํ•ด๋ณด์„ธ์š”.
โš ๏ธ **GitHub.com Fallback** โš ๏ธ