구성 파일은 아래와 같다.
- 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 |