自定义标签入门案例
開(kāi)發(fā)步驟:
1)編寫(xiě)一個(gè)普通的java類(lèi),繼承SimpleTagSupport類(lèi),叫標(biāo)簽處理器類(lèi)
2)覆蓋doTag方法
?
package com.loaderman.demo.a_tag;import java.io.IOException;import javax.servlet.http.HttpServletRequest; import javax.servlet.jsp.JspContext; import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.PageContext; import javax.servlet.jsp.tagext.SimpleTagSupport;/*** 標(biāo)簽處理器類(lèi)* @author APPle* 1)繼承SimpleTagSupport**/ public class ShowIpTag extends SimpleTagSupport{/*** 以下屏蔽的代碼在SimpleTagSupport代碼中已經(jīng)做了!這里不需要重復(fù)再做!*//*private JspContext context;*//*** 傳入pageContext*//*@Overridepublic void setJspContext(JspContext pc) {this.context = pc;}*//*** 2)覆蓋doTag方法*/@Overridepublic void doTag() throws JspException, IOException {//向?yàn)g覽器輸出客戶(hù)的ip地址PageContext pageContext = (PageContext)this.getJspContext();HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();String ip = request.getRemoteHost();JspWriter out = pageContext.getOut();out.write("使用自定義標(biāo)簽輸出客戶(hù)的IP地址:"+ip);} }3)? 在web項(xiàng)目的WEB-INF目錄下建立loaderman.tld文件,這個(gè)tld叫標(biāo)簽庫(kù)的聲明文件。(參考核心標(biāo)簽庫(kù)的tld文件)
?
<?xml version="1.0" encoding="UTF-8" ?><taglib xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"version="2.1"><!-- 標(biāo)簽庫(kù)的版本 --><tlib-version>1.1</tlib-version><!-- 標(biāo)簽庫(kù)前綴 --><short-name>loaderman</short-name><!-- tld文件的唯一標(biāo)記 --><uri>http://loaderman.cn</uri><!-- 一個(gè)標(biāo)簽的聲明 --><tag><!-- 標(biāo)簽名稱(chēng) --><name>showIp</name><!-- 標(biāo)簽處理器類(lèi)的全名 --><tag-class>com.loaderman.demo.a_tag.ShowIpTag</tag-class><!-- 輸出標(biāo)簽體內(nèi)容格式 --><body-content>scriptless</body-content></tag></taglib>?
4) 在jsp頁(yè)面的頭部導(dǎo)入自定義標(biāo)簽庫(kù)
5) 在jsp中使用自定義標(biāo)簽
?
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@taglib uri="http://loaderman.cn" prefix="loaderman"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head> <title>第一個(gè)自定義標(biāo)簽</title> </head><body><%//獲取當(dāng)前客戶(hù)的IP地址//String ip = request.getRemoteHost();//輸出到瀏覽器//out.write("當(dāng)前客戶(hù)的IP地址是:"+ip);%><%--使用標(biāo)簽庫(kù)中的標(biāo)簽--%><loaderman:showIp>xxxxx</loaderman:showIp></body> </html>?
轉(zhuǎn)載于:https://www.cnblogs.com/loaderman/p/10002285.html
總結(jié)
- 上一篇: 框架:初识Spring
- 下一篇: java生成二维码/java解析二维码