일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 키-값 데이터베이스
- 함수 선언
- HTML역사
- DoitSQL입문
- 배열 3요소
- 숫자 형식
- 우아한테크
- SQL입문
- 배열 예제
- 웹 브라우저 전쟁
- 생성자
- 크롤링
- 함수
- dbms
- 예외
- 숫자형식오류
- 크롤링 오류
- html
- 웹브라우저 수용도
- 데이터베이스
- 자바 오류
- 페이지분석
- R1C3
- DoitSQL
- 자바
- 예제
- SQL
- DoIt
- 자바 예외
- Doit입문SQL
Archives
- Today
- Total
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 키-값 데이터베이스
- 함수 선언
- HTML역사
- DoitSQL입문
- 배열 3요소
- 숫자 형식
- 우아한테크
- SQL입문
- 배열 예제
- 웹 브라우저 전쟁
- 생성자
- 크롤링
- 함수
- dbms
- 예외
- 숫자형식오류
- 크롤링 오류
- html
- 웹브라우저 수용도
- 데이터베이스
- 자바 오류
- 페이지분석
- R1C3
- DoitSQL
- 자바
- 예제
- SQL
- DoIt
- 자바 예외
- Doit입문SQL
Archives
- Today
- Total
프로그래밍
[Web] day43 : 커스텀태그 본문
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
반응형
'Web > Web' 카테고리의 다른 글
[Web] day43 : 필터(.java 클래스) (0) | 2023.08.06 |
---|---|
[Web] day43 : POJO와 NOT POJO (0) | 2023.08.06 |
[Web] day42 : EL 표현식 (0) | 2023.08.05 |
[Web] day42 : JSTL(자바 서버 페이지 표준 라이브러리) (1) | 2023.08.03 |
[Web] day41 : 웹페이지 MVC 패턴으로 분리 (0) | 2023.08.01 |
Comments