• 自定义标签入门案例


    开发步骤:

    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
         *//*
        @Override
        public void setJspContext(JspContext pc) {
            this.context = pc;
        }*/
        
        
    
        /**
         * 2)覆盖doTag方法
         */
        @Override
        public 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>
  • 相关阅读:
    黑盒测试和白盒测试的区别
    alpha测试和beta测试的区别
    selenium退出语句区别
    QTP8.2--安装流程
    Xshell无法连接Linux虚拟机问题
    Linux-----centos6.2---安装Linux的流程
    MySql错误处理--错误代码和消息
    基于Linux系统--web环境搭建
    前端底层-作用域 this 原型笔试题练习
    前端底层-冒泡与捕获
  • 原文地址:https://www.cnblogs.com/loaderman/p/10002285.html
Copyright © 2020-2023  润新知