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

Posted 爱华顿g

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

  效果截图:

  

 

以上是关于java_自定义标签,我的第一个自定义标签!的主要内容,如果未能解决你的问题,请参考以下文章

JavaWeb学习——自定义标签

django 编写我的第一个自定义模板标签和过滤器

怎么自定义android 下拉刷新动画

07Java--JSP自定义标签

笔记之_Java的自定义标签

杂项-Java:自定义标签