Programming
No. | 308 |
Name. | coolx |
Subject. | [강좌]커스텀태그 - 2 |
Main Cate. | JSP/Servlet |
Sub Cate. | |
Date. | 2006-07-20 09:48 |
Hit. | 3323 (220.76.115.27) |
File. | |
[강좌]커스텀태그 - 2 정보는 공유 되어야 하기에 제가 운영하는 www.ihelpers.co.kr에 있는 강좌를 이곳에 올립니다. 이번강좌에서는 parameter 를 갖는 태그에 대해서 알아보도록 하겠다. 지난강좌에서 알 수 있듯이 단순한 태그조차도 많은 매서드를 써야 한다는 것을 알수 있었다. 사실 지난시간까지는 Tag 인터페이스를 사용했습니다. 인터페이스는 그 특성상 모든 메서드를 일일이 사용자가 구현을 해야 함을 의미한다. 이번 강좌에서는 이러한 Tag 인터페이스를 미리 구현한 TagSupport클래스를 이용하여 진행하도록 하겠습니다. 그럼. TagSupport클래스부터 살펴보도록 하죠.. Javax.servlet.jsp.tagext.TagSupport #id:java.lang.String #pageContext:javax.servlet.jsp.PageContext -paret:javax.servlet.jsp.tagext.Tag -values:java.lang.Objct[] +getId():java.lang.String +setId(:java.lang.String):void +release():void +getValue(:java.lang.String):java.lang.Object +setValue(:java.lang.String,:java.lang.Object):void +getParent():javax.servlet.jsp.tagext.Tag +setParent(:javax.servlet.jsp.tagext.Tag):void +TagSupport() +findAncestorWithClass(:javax.servlet.jsp.tagext.Tag,..) +getValues():java.util.Enumeration +removeValue(:java.lang.String):void +doEndTag():int +doStarttag():int +setPageContent(:javax.servlet.jsp.PageContext):void Interface Javax.servlet.jsp.tagext TagSupport 클래스 중에서 몇가지 메서드를 살펴보도록 하겠습니다. - findAncestorsWithClass() : 부모태그를 찾는다. - getID / setID() : ID라는 파라미터를 셋팅하거나 값을 가져오는데 사용되는 메서드 I. Hello Tag 의 작성 우리는 TagSupport클래스를 상속받아 Tag를 작성하려 합니다. 다음의 도표로 기본 구조를 살펴보도록 하겠습니다. tag.HelloTag -name:String = “” +HelloTag() +setName(name:String):void +doEndTag():int javax.servlet.jsp.tagext.TagSupport 1. 태그 핸들러 클래스의 작성 package tag; import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; public class HelloTag extends TagSupport{ private String name = “”; // 생성자 public HelloTag(){ super();} // setter 메서드 public void setName(String name){ this.name = name; } public int doEndTag() throws javax.servlet.jsp.JspTagException{ try{ &n bsp; pageContext.getOut().write(“Hello “ + name + “!”); }catch(java.io.IOException e){ &nb sp; throw new JspTagException(“IO Error : “ + e.getMessage()); } return EVAL_PAGE; } } 이전강좌에서 사용했던 메서드들이 많이 사라진 것을 알수 있는데 앞서 언급했듯이.. TagSupport클래스는 Tag 인터페이스를 구현한 클래스이므로 모든 메서드를 구현할 필요가 없습니다. 2. 태그설명자 등록 에 등록 hello tag.HelloTag empty A Hello Tag name false false 3. Presentation 작성(JSP 파일 작성) -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- 4. 결과 확인 http://localhost/tag_tu/hello.jsp 다음강좌에서는 Body를 갖는 태그에 대해서 알아보도록 하겠습니다. [바로가기 링크] : http://coolx.net/cboard/develop/308 |
|
|
|
[Modify] [Delete] | [Reply] [List] |