JSP支持自定tag的方法,那就是直接讲JSP代码保存成*.tag或者*.tagx的标签定义文件.tag和tagx文件不仅支持经典jsp代码,各种标签模版代码,还支持xml样式的jsp指令代码. 按照约定,tag和tagx文件需要放置在WEB-INF/tags目录下. 下面是一个简单的例子,使用自定义标签创建一个Button: <%@ tag language="java" pageEncoding="UTF-8"%> <%@ include fi…
4.控制标签体内容执行五次(tld中的配置,和jsp我就省略了,详细请看jsp自定义标签1)这里这个方法是继承了tag接口的实现类,这个实现类里不只实现了tag接口,还有tag接口的子接口,也就是IterationTag子接口中增加了doAfterBody()方法和EVAL_BODY_AGAIN常量,为了实现标签体重复TagRepeat.java package tag; import javax.servlet.jsp.JspException; import javax.servlet.js…
一.自定义标签helloworld: 二.自定义有属性的标签: HelloWorldTag.java:继承TagSupport: package com.java1234.tag; import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.tagext.TagSupport; public class…
1. 新建HelloTag类 2. 添加额外的Jar包 (1). 右键项目 -> Build Path -> Configure Build Path -> Libraries -> Add External JARs (2). 定位到tomcat安装目录的lib文件夹下(我的是:C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib)选择jsp-api.jar,确定 3. HelloTag类的详细代码 package…
同JSP标签一样,自定义标签主要用于移除JSP页面中的Java代码,可以看到我们在JSP中其实是禁止使用Java脚本的,任何要想通过Java代码实现的功能都必须以标签形式来处理,可以使用JSP标签,JSTL标签,EL函数,或者自定义标签. 自定义标签分为传统标签和简单标签,简单标签是Sun公司为减低自定义标签技术的学习难度而定义的,对于简单标签请看下一篇博客.本文先来学习传统自定义标签. 使用传统自定义标签需要满足以下两个步骤: ① 编写一个实现Tag接口(实际上我们更常的是继承Tag接口的实现…
tags: JSP 为什么要用到简单标签? 上一篇博客中我已经讲解了传统标签,想要开发自定义标签,大多数情况下都要重写doStartTag(),doAfterBody()和doEndTag()方法,并且还要知道SKIP_BODY,EVAL_BODY等等的变量代表着什么,在什么方法中使用.这样实在是太麻烦了! 因此,为了简化标签开发的复杂度,在JSP 2.0中定义了一个更为简单.便于编写和调用的SimpleTag接口来实现标签的功能.. 一般来说,实现了SimpeTag接口的标签称之为简单标签 S…
上面写的那个简单标签来控制页面中标签内容的重复次数是固定的,这就是权限"写死了",这是非常不好的行为,因为其灵活性太差.所以下面就介绍一种使用属性来控制标签内容输出次数的方法. 准备工作 创建实现了SimpleTag接口的实现类(或者是继承了SimpleTagSupport类的子类) 在类中为相应的属性字段添加setter方法,注意字段名称一定要一致.否则会出错滴 在tld文件中进行相关约束项的声明,不同于不带属性的简单标签的声明方式,这里多了一个attribute子标签,内有name…
在sun官方文档上有下面这样一段话. 官方文档声明 public interface SimpleTag extends JspTag Interface for defining Simple Tag Handlers. Simple Tag Handlers differ from Classic Tag Handlers in that instead of supporting doStartTag() and doEndTag(), the SimpleTag interface pr…
自定义标签技术自sun公司发布以来,便一向很受欢迎!下面我就来谈一谈如何实现自定义标签,以及如何使用自定义标签. 如何实现自定义标签 首先我们应该知道原理,不管是标签还是JSP,本身实际上都会被JSP Complier翻译成Servlet,然后才会被执行.那么在Java这门面向对象的语言中,标签就应该是一个特殊的类.之所以说它特殊,仅仅是它出现的地方,以及实现的功能与我们平时见到的普通的类有些不一样罢了.我们完全可以将标签视为一个简单的java类.就是这样!下面我们就来看一看要怎么写出这样一个类…
1.实现Tag接口: TagSupport类实现了Tag接口,为我们提供了4个重要的方法(见表6-5). 1.1. TagSupport类中的常用方法           int doStartTag(): 遇到自定义标签开始时调用该方法, 其可选返回值如下. SKIP_BODY:表示不用处理标签体, 直接调用doEndTag()方法 EVAL_BODY_INCLUDE:正常执行 标签体,但不对标签体做任何处理 int doAfterBody(): 重复执行标签体内容的方法,其可选返回值如下.S…