Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1221|回复: 0

在JSP中自定义标签的使用

[复制链接]

该用户从未签到

发表于 2011-10-9 17:16:20 | 显示全部楼层 |阅读模式
在JSP中  但是随着开发项目的越来越复杂 为了增加系统的可维护性 自定义标签 营运而生了。

自定义标签 本质上还是java类 标签就像是 类的引用 有了自定义标签 让jsp和Java两位好友的关系更紧密了。

  创建自定义标签 分三大步
   
    1.声明标签处理的程序  既是Java类
    2.标签库的描述符
    3.部署 配置web.xml 文件。
   
   自定义标签又分三大类 1.没有Body 没有属性的标签 2.有Body没有属性的标签 3.既有属性又有Body的标签

  一:  
    没有属性没有Body的标签的用法  重要的是要实现 Tag接口。
1.创建处理程序
   
age:定义一个输出日期的标签。

package com.ztf.util;

import java.io.IOException;
import java.util.Calendar;
import javax.Servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.Tag;

public class TagDemo_ztf implements Tag {

private PageContext pageContext;

public int doEndTag() throws JspException {

  Calendar date = Calendar.getInstance();
  int year = date.get(Calendar.YEAR);
  int month = date.get(Calendar.MONTH);
  int day = date.get(Calendar.DAY_OF_MONTH);
  String now = "今天是" + year + "年" + month + "月" + day + "天";
  try {
   pageContext.getOut().print(now);
  } catch (IOException e) {
   e.printStackTrace();
  }

  return 0;
  }

  public int doStartTag() throws JspException {
   return 0;
  }

  public Tag getParent() {
   return null;
  }

  public void release() {

  }

  public void setPageContext(PageContext arg0) {
   this.pageContext = arg0;

  }

  public void setParent(Tag arg0) {

  }

}


二:在web-inf创建一个tag文件tag.tld 文件 配置 tag.tld文件


<?xml version="1.0" encoding="gb2312" ?>

<taglib xmlns="http://java.sun.com/xml/ns/javaEE"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  http://java.sun.com/xml/ns/javaee/webjsptaglibrary_2_1.xsd"
     version="2.1">
   
   
   <description>this is the test demo </description>
   <display-name>definition tag</display-name>
   <tlib-version>1.0</tlib-version>
   <short-name>ztf</short-name>
   <uri>/example</uri>

  
     <tag>
      <name>tagDate</name>
      <tag-class>com.ztf.util.TagDemo_ztf</tag-class>
      <body-content>empty</body-content>
     </tag>
   
   
</taglib>


三:在web.xml中的 配置信息为

<jsp-config>
  <taglib>
   <taglib-uri>/example</taglib-uri>
   <taglib-location>/web-inf//tag/tag.tld</taglib-location>
  </taglib>
</jsp-config>

四  在jsp文件中引用 自定义的标签

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
  //引用自定义的类型
%>
<%@taglib prefix="ztf" uri="/example" %>
<HTML>
   <head>
   </head>
  
   <body>
     <ztf:tagDate/>
   </body>
</html>


   注解:自定义标签有三种 分别是实现了不同的接口
回复

使用道具 举报

该用户从未签到

发表于 2011-10-11 12:32:05 | 显示全部楼层
。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-12-23 05:26 , Processed in 0.404751 second(s), 46 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表