JAVA
[Java] Custom Tag.1 커스텀태그 만들기
tenn
2012. 5. 29. 17:24
커스텀 태그 만들기
1. 라이브러리 임포트
jsp-api.jar
2. Tag Servlet 작성
package tags;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class helloTagServlet implements Tag {
private PageContext pageContext;
private Tag parentTag;
public void setPageContext(PageContext pageContext) {
this.pageContext = pageContext;
}
public void setParent(Tag parentTag) {
this.parentTag = parentTag;
}
public Tag getParent() {
return this.parentTag;
}
public int doStartTag() throws JspException {
try {
JspWriter out = pageContext.getOut();
out.print("Hello World!");
} catch(Exception e) {
throw new JspException(e.getMessage());
}
return SKIP_BODY;
}
public int doEndTag() throws JspException {
return EVAL_PAGE;
}
public void release() {}
}
3. tld 작성
<?xml version="1.0" ?>
<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
web-jsptaglibrary_2_0.xsd"
version="2.0">
<tlib-version>1.0</tlib-version>
<jsp-version>2.0</jsp-version>
<short-name>helloTag</short-name>
<tag>
<name>helloTag</name>
<tag-class>tags.helloTagServlet</tag-class>
<body-content>empty</body-content>
</tag>
</taglib>
4. web.xml에 추가
<?xml version="1.0" encoding="UTF-8"?> <web-app 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 web-app_2_4.xsd" version="2.4"> <jsp-config> <taglib> <taglib-uri>tags/hello</taglib-uri> <taglib-location>/WEB-INF/lib/hello.tld</taglib-location> </taglib> </jsp-config> </web-app>
5. jsp에 사용
uri web.xml에서 설정한 <taglib-uri>의 값을 설정
<%@ page contentType="text/html; charset=windows-31j"
import="tags.*" %>
<%@ taglib uri=" tags/hello "
prefix="hello" %>
<HTML>
<BODY>
<hello:helloTag />