美文网首页
Tag 标签

Tag 标签

作者: 基本密码宋 | 来源:发表于2017-07-04 23:51 被阅读26次
    写了个让用Tag标签来获取用户IP的程序。

    自定义标签主要用于移除Jsp页面中的java代码。

    使用自定义标签移除jsp页面中的java代码,只需要完成以下两个步骤:

    • 编写一个实现Tag接口的Java类(标签处理器类)。
    • 编写标签库描述符(tld)文件,在tld文件中对标签处理器类进行描述。
    • 1、书写类继承Tag类
    public class ViewIPTag implements Tag {
    
        private PageContext pageContext;
    
        @Override
        public int doEndTag() throws JspException {
            
            return 0;
        }
    
        @Override
        public int doStartTag() throws JspException {
            //开始创建 tag的时候
            //在这里面进行初始化  
            HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
            JspWriter out = pageContext.getOut();
            String ip=request.getRemoteAddr();
            try {
                out.write(ip);
            } catch (IOException e) {
                  throw new RuntimeException(e);
            }
            return 0;
        }
    
        @Override
        public Tag getParent() {
            return null;
        }
    
        @Override
        public void release() {
            //销毁 tag
        }
    
        @Override
        public void setPageContext(PageContext arg0) {
             //第一个执行的方法    在jsp中将将  pageContext传递过来
            this.pageContext=arg0;
        }
    
        @Override
        public void setParent(Tag arg0) {
            
        }
    
    }
    
    

    里面进行执行据java代码 其实也是jsp中的servlet进行调用这个类,进行实现的。

    • 2、写.tld文件进行注册Tag标签
    <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>SimpleTagLibrary</short-name>
        <uri>/jeno</uri> <!-- 进行引用在jsp文件中 -->
        
        
         <tag>
            <name>viewIP</name> <!-- 为标签处理器类配一个标签名 -->
            <tag-class>jeno.com.tld.ViewIPTag</tag-class>
            <body-content>empty</body-content>
        </tag>
        
    </taglib>
    
    • 3、在jsp文件中进行引用
    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <%@taglib uri="/jeno" prefix="jeno"%>  进行引用标签
    <!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>Tlddemo</title>
    </head>
    <body>
       你的ip是:
        <jeno:viewIP/>  
    </body>
    </html>
    

    发布tomcat 可以看到 ip地址

    相关文章

      网友评论

          本文标题:Tag 标签

          本文链接:https://www.haomeiwen.com/subject/ablfhxtx.html