• java_自定义标签,我的第一个自定义标签!


    自定义标签,我的第一个自定义标签!

    总共分两步

    1. 编写一个实现tag接口的java类,把jsp页面中的java代码移到这个类中,(标签处理器类)
    2. 编写标签库描述符(tld)文件,在tld文件中把标签处理器类描述成一个标签

    一.案例,

             输出客户端IP

       ViewIP.jsp 

       
    <%@ page language="java" contentType="text/html; charset=UTF-8"
    
        pageEncoding="UTF-8"%>
    
    <%@ taglib uri="/WEB-INF/firstTag.tld" prefix="itcast"%>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    
    <html>
    
    <head>
    
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    
    <title>Insert title here</title>
    
    </head>
    
    <body>
    
     
    
             <h4>您的iP:</h4>
    
             <itcast:viewIP/>
    
    </body>
    
    </html>
    ViewIP.jsp

     

      在WEB-INF目录下建立一个tld文件,:

      firstTag.tld

      
    <?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">
    
        <description>A tag library exercising SimpleTag handlers.</description>
    
        <tlib-version>1.0</tlib-version>
    
        <short-name>view</short-name>
    
        <uri>/WEB-INF/firstTag.tld</uri>
    
        <tag>
    
            <name>viewIP</name>
    
            <tag-class>Tag.viewIPTag</tag-class>
    
            <body-content>empty</body-content>
    
        </tag>
    
       </taglib>
    firstTag.tld

     

      编写标签处理器类:

      viewIPTag.java

      
    package Tag;
    
    import java.io.IOException;
    
     
    
    import javax.servlet.http.HttpServletRequest;
    
    import javax.servlet.jsp.JspException;
    
    import javax.servlet.jsp.JspWriter;
    
    import javax.servlet.jsp.tagext.TagSupport;
    
     
    
     
    
    public class viewIPTag extends TagSupport{
    
            
    
             public int doStartTag() throws JspException{
    
                       HttpServletRequest request=(HttpServletRequest) this.pageContext.getRequest();
    
                      
    
                       JspWriter out=this.pageContext.getOut();
    
                      
    
                       String ip=request.getRemoteAddr();
    
                      
    
                       try {
    
                                out.print(ip);
    
                       } catch (IOException e) {
    
                                // TODO Auto-generated catch block
    
                                e.printStackTrace();
    
                       }
    
                       return super.doStartTag();
    
             }
    
    }
    viewIPTag.java

      效果截图:

      

  • 相关阅读:
    Redis 3.0 与 3.2 配置文件变化
    PHP 位运算(&, |, ^, ~, <<, >>)及 PHP错误级别报告设置(error_reporting) 详解
    MySQL自增ID 起始值 修改方法
    CentOS 6.5 编译 PHP-7 报错:undefined reference to `libiconv_open 无法编译 PHP libiconv
    file xxx from install of xxx conflicts with file from xxx
    专家访谈 / 架构分享 / 网摘 收藏
    怎样用javascript获取UUID
    ansible经常使用模块使用方法
    一个button导致的慘案
    nil coalescing operator
  • 原文地址:https://www.cnblogs.com/aihuadung/p/8659384.html
Copyright © 2020-2023  润新知