JSP

[tag lib] tld파일설정 및 커스텀 태그 정리

선한열심 2013. 6. 19. 14:34

1. ~.tld 파일 설정

    기본적으로 web.xml 에 taglib 를 등록하지만 WEB-INF/ 밑에 ~.tld 파일이 있을 경우 따로 설정하지 않아도 된다.

   JSP에서는 tld파일의 taglib 태그의 uri 태그 값으로 불러와서 사용하면 됨

  예)  tld파일 : WEB-INF/ 밑에 있어야함

        tld파일안에  : <uri>net.ucware.tags</uri>

        jsp : <%@ taglib prefix="ast" uri="net.ucware.tags" %>

 

2. 커스텀 태그 정리 중....

HearderTag.java

public class DefaultConfigTag extends TagSupport

    private String var;
    public void setVar(String var) {
        this.var = var;
    } 
 
    public int doStartTag() throws JspException {
        String value = "aaa";
        pageContext.setAttribute(var, value);
       
        아니면
       
        JspWriter out = pageContext.getOut();
        ou.print("aaa");
        return SKIP_BODY;
    }
}

<exam:mutiply op1="2" start="1" end="9" >

</exam>

<exam:mutiply op1="2" start="1" end="9" >

 ${pageContext.op1} * ${pageContext.op2} =  ${pageContext.op1 * pageContext.op2} <br>   <=== 몸체라고함

</exam:multiply>


Return 값 종류

doStartTag()  

    SKIP_BODY                  : 몸체 내용을 처리하지 않는다

    EVAL_BODY_INCLUDE : 몸체 내용을 처리한 결과를 출력한다.

doAfterBody()  

    EVAL_BODY_AGAIN  이면 몸체 다시 실행 do{ }while(조건) 처럼

    SKIP_BODY                  : 몸체 내용을 처리하지 않는다