码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-03-27 21:07:48      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:png   class   title   cep   vax   pre   extends   page   nbsp   

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

 

总共分两步

  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_自定义标签,我的第一个自定义标签!

标签:png   class   title   cep   vax   pre   extends   page   nbsp   

原文地址:https://www.cnblogs.com/aihuadung/p/8659384.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!