• 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

      效果截图:

      

  • 相关阅读:
    C语言随笔_printf输出多行
    C语言随笔_return答疑
    《疯狂Java讲义》(二十八)---- 异常
    《疯狂Java讲义》(二十七)----泛型
    《疯狂Java讲义》(二十七)---- Collections
    《疯狂Java讲义》(二十六)---- Map
    《疯狂Java讲义》(二十五)---- List 集合
    《疯狂Java讲义》(二十四)---- Set集合
    Problem(2)----How to set eclipse console locale/language
    Problem(1)----Eclipse hangs on copy/cut for JavaScript files
  • 原文地址:https://www.cnblogs.com/aihuadung/p/8659384.html
Copyright © 2020-2023  润新知