๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ๋ฐœ ์ด์•ผ๊ธฐ/JAVA

[jstl] ๋‚ด์žฅ๊ฐ์ฒด ์ปค์Šคํ…€

by 0_0๐Ÿ–ค 2024. 7. 2.
๋ฐ˜์‘ํ˜•

 

 

thymeleaf์˜ fragment ๊ฐ™์€ ๊ธฐ๋Šฅ์„ jstl์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ

jstl ์˜ ๋‚ด์žฅ๊ฐ์ฒด ์ปค์Šคํ…€ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•ด ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

thymeleaf fragment์™€ ๊ฐ™์ด ๋ฐ˜๋ณต๋˜๋Š” ๊ตฌ๋ฌธ ์ž‘์„ฑ์— ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

 

 

 

pom.xml ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

 

 
 ... ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€ ์ฝ”๋“œ
 
    <!-- jsp -->
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.2</version>
      <scope>provided</scope>
    </dependency>

	<!-- jstl -->
    <dependency>
      <groupId>javax.servlet.jsp.jstl</groupId>
      <artifactId>jstl-api</artifactId>
      <version>1.2</version>
      <type>jar</type>
    </dependency>

    <dependency>
      <groupId>taglibs</groupId>
      <artifactId>standard</artifactId>
      <version>1.1.2</version>
    </dependency>
    
    ...

 

 

 

 

jsp ํŒŒ์ผ ์ž‘์„ฑ

 

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib tagdir="/WEB-INF/tags" prefix="mytag" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE html>
<html lang="ko">
<head>
	<meta charset="utf-8">
    ...
</head>
<body>
	...
    <mytag:${๋ถˆ๋Ÿฌ์˜ฌ .tag ํŒŒ์ผ๋ช… ์ž‘์„ฑ} />
    ...
</body>
</html>

 

 

์ƒ๋‹จ์— <%@ taglib ... > ๋ฅผ ์ด์šฉํ•ด ๋ถˆ๋Ÿฌ์˜ฌ tag directory ๊ฒฝ๋กœ๋ฅผ ์„ธํŒ…ํ•ด์ค€๋‹ค.

(tag directory ์—๋Š” .tag ํŒŒ์ผ๋“ค์ด ๋“ค์–ด๊ฐ€์žˆ๋„๋ก ์„ธํŒ…ํ•œ๋‹ค)

 

example

 

 

<%@ taglib ... > ์ž‘์„ฑ ๊ตฌ๋ฌธ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š”

ํ”„๋กœ์ ํŠธ์— ์„ธํŒ…๋œ jsp ๋ฒ„์ „์—๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค.

 

<%-- JSP 1.2 --%>
<%@ taglib uri="/WEB-INF/myTag.tld" prefix="mytag" %>

<%-- JSP 2.0 --%>
<%@ taglib tagdir="/WEB-INF/tags" prefix="myTag" %>

 

 

1.2 ๋ฒ„์ „ ์„ธํŒ…์˜ ๊ฒฝ์šฐ WEB-INF ํด๋” ์•ˆ์— .tld์„ ์ƒ์„ฑํ•ด ์ปค์Šคํ…€ tag ์„ธํŒ…์„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

 

<?xml version="1.0" encoding="UTF-8"?>
<taglib xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                            http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
        version="2.1">
    
    <tlib-version>1.0</tlib-version>
    <short-name>example</short-name>
    <uri>http://example.com/tags</uri> <!-- tag directory ๊ฒฝ๋กœ -->
    
    <tag>
        <name>hello</name> <!-- tag ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ ์‚ฌ์šฉํ•  ์ด๋ฆ„ -->
        <tag-class />
        <body-content>empty</body-content> <!-- ํƒœ๊ทธ์˜ ๋ฐ”๋”” ๋‚ด์šฉ ์ •์˜ : empty,tagdependent,scriptless -->
    </tag>
</taglib>

 

 

 

๋ฐ˜์‘ํ˜•