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

2018-06-18 02:30:40来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

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

 

总共分两步

  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

 

  效果截图:

  

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Java EE 生成网站表单的验证码

下一篇:ThreadLocal源码分析:(三)remove()方法