사용자 정의 태그 개발 단계
3158 단어 사용자 지정 레이블
사용자 정의 태그 개발 단계:
클래스 1은 SimpleTag 인터페이스를 구현합니다. 이 클래스는 탭 처리 대상//탭 프로세서 또는 탭 대상이라고 합니다.
public class IpTag implements SimpleTag {
private PageContext pageContext;
//Web
public IpTag(){
System.out.println("IpTag()");
System.out.println(" IpTag : " + this.hashCode());
}
//Web
public void setJspContext(JspContext pc) {
System.out.println("setJspContext()");
//
pageContext = (PageContext) pc;
}
//Web
public void doTag() throws JspException, IOException {
System.out.println("doTag()");
// HttpServletRequest
HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
// IP
String ip = request.getRemoteAddr();
// out
JspWriter out = pageContext.getOut();
//
out.write("<font color='red'><b>"+ip+"</b></font>");
}
2/WEB-INF/에 *.tld 탭 설명 파일, JSP 엔진의 사용자 정의 탭에 대응하는 처리 클래스를 알립니다
<?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">
<tlib-version>1.0</tlib-version>( )
<short-name>simple</short-name>( )
<uri>http://java.sun.com/jsp/jstl/simple</uri>( / )
<tag>
<name>ip</name>( , )
<tag-class>cn.itcast.web.jsp.tag.IpTag</tag-class>( )
<body-content>empty</body-content>( ,
empty )
<attribute>
<name>count</name>( )
<required>true</required>( ,true ,false )
<rtexprvalue>true</rtexprvalue>( ,true ,false )
<type>boolean</type>( , )
</attribute>
</tag>
</taglib>
3은 단순하다.jsp 페이지에서 사용자 정의 탭 사용하기
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/simple" prefix="simple"%>[ , ]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
IP ( ):<simple:ip/>
</body>
</html>