加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 06:26:03 所属栏目:Java 来源:网络整理
导读:自定义标签,我的第一个自定义标签! 总共分两步 编写一个实现tag接口的java类,把jsp页面中的java代码移到这个类中,(标签处理器类) 编写标签库描述符(tld)文件,在tld文件中把标签处理器类描述成一个标签 一.案例, ???????? 输出客户端IP ViewIP.jsp pageEncodi

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

总共分两步

  1. 编写一个实现tag接口的java类,把jsp页面中的java代码移到这个类中,(标签处理器类)
  2. 编写标签库描述符(tld)文件,在tld文件中把标签处理器类描述成一个标签

一.案例,

???????? 输出客户端IP

   ViewIP.jsp 

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding</span>="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"&gt;

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

Insert title here
     <h4>您的iP:</h4>

     <itcast:viewIP/>

<p align="left">?

  在WEB-INF目录下建立一个tld文件,:

  firstTag.tld

<taglib xmlns="http://java.sun.com/xml/ns/j2ee"<span style="color: #000000">

xmlns:xsi</span>="http://www.w3.org/2001/XMLSchema-instance"<span style="color: #000000"&gt;

xsi:schemaLocation</span>="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"<span style="color: #000000"&gt;

version</span>="2.0"&gt;

<description>A tag library exercising SimpleTag handlers.</description>

<tlib-version>1.0</tlib-version>

<<span style="color: #0000ff"&gt;short</span>-name>view</<span style="color: #0000ff"&gt;short</span>-name>

<uri>/WEB-INF/firstTag.tld</uri>

<tag>

    <name>viewIP</name>

    <tag-<span style="color: #0000ff"&gt;class</span>>Tag.viewIPTag</tag-<span style="color: #0000ff"&gt;class</span>>

    <body-content>empty</body-content>

</tag>

<p align="left">?


<p align="left">  编写标签处理器类:


<p align="left">  viewIPTag.java


<div class="cnblogs_code">  <img id="code_img_closed_afb88ded-3699-47de-beb7-941f9aabb766" class="code_img_closed" src="https://www.52php.cn/res/2019/02-08/14/1c53668bcee393edac0d7b3b3daff1ae.gif" alt=""><img id="code_img_opened_afb88ded-3699-47de-beb7-941f9aabb766" class="code_img_opened" style="display: none" src="https://www.52php.cn/res/2019/02-08/14/405b18b4b6584ae338e0f6ecaf736533.gif" alt=""><div id="cnblogs_code_open_afb88ded-3699-47de-beb7-941f9aabb766" class="cnblogs_code_hide">

<span style="color: #0000ff">import<span style="color: #000000"> java.io.IOException;

<span style="color: #0000ff">import<span style="color: #000000"> javax.servlet.http.HttpServletRequest;

<span style="color: #0000ff">import<span style="color: #000000"> javax.servlet.jsp.JspException;

<span style="color: #0000ff">import<span style="color: #000000"> javax.servlet.jsp.JspWriter;

<span style="color: #0000ff">import<span style="color: #000000"> javax.servlet.jsp.tagext.TagSupport;

<span style="color: #0000ff">public <span style="color: #0000ff">class viewIPTag <span style="color: #0000ff">extends<span style="color: #000000"> TagSupport{

     </span><span style="color: #0000ff"&gt;public</span> <span style="color: #0000ff"&gt;int</span> doStartTag() <span style="color: #0000ff"&gt;throws</span><span style="color: #000000"&gt; JspException{

               HttpServletRequest request</span>=(HttpServletRequest) <span style="color: #0000ff"&gt;this</span><span style="color: #000000"&gt;.pageContext.getRequest();



               JspWriter out</span>=<span style="color: #0000ff"&gt;this</span><span style="color: #000000"&gt;.pageContext.getOut();



               String ip</span>=<span style="color: #000000"&gt;request.getRemoteAddr();



               </span><span style="color: #0000ff"&gt;try</span><span style="color: #000000"&gt; {

                        out.print(ip);

               } </span><span style="color: #0000ff"&gt;catch</span><span style="color: #000000"&gt; (IOException e) {

                        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; TODO Auto-generated catch block</span>

<span style="color: #000000">
e.printStackTrace();

               }

               </span><span style="color: #0000ff"&gt;return</span> <span style="color: #0000ff"&gt;super</span><span style="color: #000000"&gt;.doStartTag();

     }

}

<p align="left">  效果截图:


<p align="left">  

<img src="https://www.52php.cn/res/2019/02-08/14/cafe3234458a87af23bc3df86122af0d.png" alt="">

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读