프로그래밍

[Web] day43 : 커스텀태그 본문

Web/Web

[Web] day43 : 커스텀태그

시케 2023. 8. 5. 21:01
728x90
반응형

2023.07.05.수

커스텀태그

커스텀 태그는 사용자 지정 태그라고도 부르며 사용자가 직접 태그를 선언하여 쓰는 방식이다

앞서 다루었던 JSTL 또한 커스텀 태그의 일종이다

 

커스텀태그는 "View"에서 사용하는 모듈화 기법중 하나이다

사용시 장점으로 

코드의 재사용성 증가, 가독성 증가, 유지보수 용이가 있다

 

※ 우리가 평소에 보았던 아래의 여러 태그들은 기본 태그들이다

<html>
<body>
<title>
<div>
<a>

 

tag 선언

webapp/WEB-INF 하위의 위치에 tags 폴더를 만들어 커스텀 태그로 관리할 것이다

태그 라이브러리를 사용하기 위한 .jar 파일 또한 import 해준다

 

tags 폴더 안에 HTML tag 파일을 만들어 태그로 만들고 싶은 내용을 작성해준다

 

tags/hello.tag

<%@ tag language="java" pageEncoding="UTF-8"%>
안녕하세요! :D

 

tags/productList.tag

<%@ tag language="java" pageEncoding="UTF-8"%>
<jsp:useBean id="pb" class="test.ProductBean" />

<%@ attribute name="border" %>
<%@ attribute name="bgcolor" %>

<h1><jsp:doBody/></h1>
<hr>
<table border="${border}" bgcolor="${bgcolor}">
   <% for(String v : pb.getPdatas()){ %>
      <tr><td><%=v%></td></tr>
   <% } %>
</table>

해당 태그에서는 외부에서 입력받은 값으로 태그의 내용을 변화시킬 수 있도록 하였다

선 굵기와 색을 입력받아 적용시킬 수 있다

 

커스텀태그 사용

작성해둔 커스텀태그를 사용하기 위해 해당 페이지에 prefix(접두어) 설정을 해야한다

<%@ taglib tagdir="/WEB-INF/tags" prefix="jhyun"%>

태그에 접두어 prefix로 "jihyun"이 붙으면 "WEB-INF/tags" 경로에 있는 태그를 사용할 것이라는 뜻이다

 

태그 사용 예제

<body>

<h1>메인 페이지</h1>
<hr>
<b><jhyun:hello/></b>

<jhyun:productList border="10" bgcolor="lightpink">상품목록</jhyun:productList>

</body>
728x90
반응형
Comments