본문 바로가기

꿈(개발)

taglib 사용법에 대해 알아보자!!!!

먼저 이용할 태그를 선언해야 하겠다.

특정 클래스 파일을 생성 하여

패키지명은 알아보기 쉽게 common.tags.Functions

으로 구조화 하면 편하겠다.

여기서는 간단하게 null이면 특정 값을 집어 넣는 태그를 만들어 보겠다.

public class Functions {
    public static Object nvl( Object op1, Object op2 ) {
      return op1 == null ? op2 : op1;
    }
}



이제 클래스 파일은 만들었다.

클래스 파일안에 있는 메소드를 사용해야 한다.

tld파일안에 선언 해주어 하므로

<?xml version="1.0" encoding="UTF-8"?>

<taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" version="2.0">

  <description>특정 app에서 사용할 Tag Library</description>
  <display-name>특정app</display-name>
  <tlib-version>1.0</tlib-version>
  <short-name>appLib</short-name>
  <uri>http://blablabla.net</uri>

  <function>
    <description>값이 null일 경우 특정값을 사용한다.</description>
    <name>nvl</name>
    <function-class>common.tags.Functions</function-class>
    <function-signature>java.lang.Object nvl( java.lang.Object, java.lang.Object )</function-signature>
  </function>

를 입력한 후 /WEB-INF/tlds/blabla.tld 파일을 만들어 준다.

nvl의 사용을 위해 app의 web.xml를 열어

다음을 추가한다.

  <jsp-config>
    <taglib>
      <taglib-uri>http://blablabla.net</taglib-uri>
      <taglib-location>/WEB-INF/tlds/blabla.tld</taglib-location>
    </taglib>
  </jsp-config>

자 이제 모든 준비가 끝났다.

jsp에서 써주면 된다.

나머지 유틸이나 간단한 함수는 이렇게 이용하면 되겠다.
어떠어떠한건 보여주고 안보여주게 할 수도 있다.

jsp에서 쓰는 법은

태그를 먼저 선언한다.

<%@ taglib prefix="x" uri="http://blablabla.net" %>

이렇게 선언한 뒤에

${ x:nvl( null인지 검사할 값, null일경우 대체 값) }

요렇게 사용해 주시면 되겠다.

이렇게 써놓고 보니 간단한데

할땐 왜 이렇게 헛갈리던가

오늘도 skill up!!!!!!!!