본문 바로가기

Web Programming

커스텀 태그(Custom Tag)를 알아보자!

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
커스텀 태그는 말그대로.. 나만의 태그?? 정도라고 생각하면 좋습니다. JSP 페이지에서 반복적인 프로그램 로직을 캡슐화 하기 위해 고안된 것으로, 기본적으로 제공되는 JSTL 태그 이외에 사용자가 확장하는 태그라는 의미에서 붙여진 이름입니다.

단적인 예를 한번 보도록 할까요?? 제가 지난번에 방명록 프로그램을.. 아주 허접하게 하나 만들었는데.. 거기에 보면 이런게 있지요..

<body>
<h2 style="font-weight: bolder">GuestBook - 글목록</h2>
<hr>
<form>
<table width=700 border="1">
   <tbody>
       <tr>
           <th width=100>글번호</th>
           <th width=100>글쓴이</th>
           <th width=400>내용</th>
           <th width=100>작성시간</th>
       </tr>
       <%
           for(GuestBook guestBook : datas) {
       %>
       <tr>
           <td><%=guestBook.getGb_id() %></td>
           <td><%=guestBook.getGb_name()%></td>
           <td><a href=javascript:check('<%=guestBook.getGb_id()%>')><%=guestBook.getGb_content()%></a></td>
           <td><%=guestBook.getGb_date()%><br>
           <%=guestBook.getGb_time()%></td>
       </tr>
       <%
       }
       %>
       <tr>
           <th colspan="4"><a href="write.jsp" target="_self"> 글쓰기 </a></th>
       </tr>
   </tbody>
</table>
</form>
</body>
요런놈이 있습니다. ^^ 근데.. 이 밑에 있는 소스를 한번 보세요... -_-


<%taglib uri="getListTag" prefix="boardTag" %>
<body>
   <boardTag:getList />
</body>

... 정말 이렇게 해서 된다면 화가 날거 같애요.. ㅠㅠ 하지만 화가 나겠군요 -_- 된답니다. 실제로 저런 커스텀 태그를 정의 해준다면 말이죠... 그럼 왜 이렇게 커스텀 태그 라이브러리를 사용할까요???

이전 JSP 소스코드를 살짝 보시면 너무너무 복잡하죠?? 한눈에 봐도 좀 코드가 긴편이고.. 또하나 문제는.. 디자인과 프로그래밍이 융합이 되어있어서 살짝 복잡하고 관리의 문제도 좀 있겠군요.. 하지만 이처럼 비즈니스 로직과 화면 표현을 분리하고 비즈니스 로직의 캡슐화, 그리고 간단한 태그의 사용으로 부담없이 간편하게 사용할 수 있다고 합니다.