jsp自定义标签

一、自定义标签的作用

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

二、自定义标签开发和使用

2.1、自定义标签开发步骤

   1、编写一个实现Tag接口的Java类(标签处理器类)

复制代码
复制代码
 1 package me.gacl.web.tag;
 2 
 3 import java.io.IOException;
 4 
 5 import javax.servlet.http.HttpServletRequest;
 6 import javax.servlet.jsp.JspException;
 7 import javax.servlet.jsp.JspWriter;
 8 import javax.servlet.jsp.PageContext;
 9 import javax.servlet.jsp.tagext.Tag;
10 
11 public class ViewIPTag implements Tag {
12 
13     //接收传递进来的PageContext对象
14     private PageContext pageContext;
15     
16     @Override
17     public int doEndTag() throws JspException {
18         System.out.println("调用doEndTag()方法");
19         return 0;
20     }
21 
22     @Override
23     public int doStartTag() throws JspException {
24         System.out.println("调用doStartTag()方法");
25         HttpServletRequest request =(HttpServletRequest) pageContext.getRequest();
26         JspWriter out = pageContext.getOut();
27         String ip = request.getRemoteAddr();
28         try {
29             //这里输出的时候会抛出IOException异常
30             out.write(ip);
31         } catch (IOException e) {
32             //捕获IOException异常后继续抛出
33             throw new RuntimeException(e);
34         }
35         return 0;
36     }
37 
38     @Override
39     public Tag getParent() {
40         return null;
41     }
42 
43     @Override
44     public void release() {
45         System.out.println("调用release()方法");
46     }
47 
48     @Override
49     public void setPageContext(PageContext pageContext) {
50         System.out.println("setPageContext(PageContext pageContext)");
51         this.pageContext = pageContext;
52     }
53 
54     @Override
55     public void setParent(Tag arg0) {
56 
57     }
58 
59 }
复制代码
复制代码

  2、在WEB-INF/目录下新建tld文件,在tld文件中对标签处理器类进行描述

  

posted @   vvvcutee  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
点击右上角即可分享
微信分享提示