自定义标签入门案例
開發步驟:
1)編寫一個普通的java類,繼承SimpleTagSupport類,叫標簽處理器類
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;/*** 標簽處理器類* @author APPle* 1)繼承SimpleTagSupport**/ public class ShowIpTag extends SimpleTagSupport{/*** 以下屏蔽的代碼在SimpleTagSupport代碼中已經做了!這里不需要重復再做!*//*private JspContext context;*//*** 傳入pageContext*//*@Overridepublic void setJspContext(JspContext pc) {this.context = pc;}*//*** 2)覆蓋doTag方法*/@Overridepublic void doTag() throws JspException, IOException {//向瀏覽器輸出客戶的ip地址PageContext pageContext = (PageContext)this.getJspContext();HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();String ip = request.getRemoteHost();JspWriter out = pageContext.getOut();out.write("使用自定義標簽輸出客戶的IP地址:"+ip);} }3)? 在web項目的WEB-INF目錄下建立loaderman.tld文件,這個tld叫標簽庫的聲明文件。(參考核心標簽庫的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"><!-- 標簽庫的版本 --><tlib-version>1.1</tlib-version><!-- 標簽庫前綴 --><short-name>loaderman</short-name><!-- tld文件的唯一標記 --><uri>http://loaderman.cn</uri><!-- 一個標簽的聲明 --><tag><!-- 標簽名稱 --><name>showIp</name><!-- 標簽處理器類的全名 --><tag-class>com.loaderman.demo.a_tag.ShowIpTag</tag-class><!-- 輸出標簽體內容格式 --><body-content>scriptless</body-content></tag></taglib>?
4) 在jsp頁面的頭部導入自定義標簽庫
5) 在jsp中使用自定義標簽
?
<%@ 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>第一個自定義標簽</title> </head><body><%//獲取當前客戶的IP地址//String ip = request.getRemoteHost();//輸出到瀏覽器//out.write("當前客戶的IP地址是:"+ip);%><%--使用標簽庫中的標簽--%><loaderman:showIp>xxxxx</loaderman:showIp></body> </html>?
轉載于:https://www.cnblogs.com/loaderman/p/10002285.html
總結
- 上一篇: 框架:初识Spring
- 下一篇: 从敲入 URL 到浏览器渲染完成、对HT