구성 파일은 아래와 같다.
- java.com.umaking.MyTag.java
- /WEB-INF/tld/mytags.tld
- web.xml설정
- jsp페이지 설정
tag의 변수는 var, message로 정하였으며
tag내에 내용과 message를 같은 데이터로 취급하였다
a. tag내의 내용이 존재하면 message내용은 무시하도록 하였다.
몇 년 만에 찾아보니 참 그러하네...
오래된 기억을 다시 더듬어 보는 느낌 이랄까...
------------------------------------------------------------------------------------------
[com.umaking.MyTag.java]
[WEB-INF/tld/mytags.tld]
[/WEB-INF/web.xml]
[/test.jsp]
- java.com.umaking.MyTag.java
- /WEB-INF/tld/mytags.tld
- web.xml설정
- jsp페이지 설정
tag의 변수는 var, message로 정하였으며
tag내에 내용과 message를 같은 데이터로 취급하였다
a. tag내의 내용이 존재하면 message내용은 무시하도록 하였다.
몇 년 만에 찾아보니 참 그러하네...
오래된 기억을 다시 더듬어 보는 느낌 이랄까...
------------------------------------------------------------------------------------------
[com.umaking.MyTag.java]
package com.umaking; import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.tagext.BodyTagSupport; public class MyTag extends BodyTagSupport { private static final long serialVersionUID = 1L; private String message = ""; private String var; public void setMessage(String message) { this.message = message; } public void setVar(String var) { this.var = var; } @Override public int doStartTag() throws JspException { return this.EVAL_BODY_BUFFERED; } @Override public int doEndTag() throws JspException { JspWriter out = pageContext.getOut(); if(getBodyContent() != null) { message = this.getBodyContent().getString(); } try { out.println(message); } catch (IOException e) { e.printStackTrace(); } return this.EVAL_PAGE; } }------------------------------------------------------------------------------------------
[WEB-INF/tld/mytags.tld]
<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglib_1_1.dtd"> <taglib> <tlibversion>1.0</tlibversion> <jspversion>1.1</jspversion> <shortname>UmaUtils</shortname> <uri>http://www.umaking.com/taglibs/mytags</uri> <info></info> <tag> <name>umaTag</name> <tagclass>com.umaking.MyTag</tagclass> JSP</bodycontent> <attribute> <name>var</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>message</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> </tag> </taglib>------------------------------------------------------------------------------------------
[/WEB-INF/web.xml]
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>pp</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <!-- 추가 함 --> <taglib> <taglib-uri> http://www.umaking.com/taglibs/mytags </taglib-uri> <taglib-location> /WEB-INF/tld/mytags.tld </taglib-location> </taglib> </web-app>------------------------------------------------------------------------------------------
[/test.jsp]
<%@ page pageEncoding="euc-kr" %> <%@ taglib uri="http://www.umaking.com/taglibs/mytags" prefix="m" %> <m:umaTag var="test" message="aaa"> 테스트 입니다. </m:umaTag>
'코드' 카테고리의 다른 글
3DES (0) | 2009.09.03 |
---|---|
TrayIcon - TaskbarCreated 신호시.... (0) | 2009.07.12 |
prototype 1.6에서 SelectBOX 생성 (0) | 2009.03.07 |
ServletFilter를 통한 URI 재구성 (Blog처럼) (1) | 2009.02.22 |
printStackTrace (0) | 2008.09.02 |