JSP自定义不带属性和标签体的简单标签
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 bid.zhazhapan.fims.tag;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.Tag;
public class HelloTag implements Tag {
private PageContext pageContext;// 定义页面隐式对象
private Tag parent;// 定义上一级标签
// 将页面隐式对象传入到标签中
public void setPageContext(PageContext pageContext) {
this.pageContext = pageContext;
}
// 设置上一级标签
public void setParent(Tag parent) {
this.parent = parent;
}
// 标签开始时调用
public int doStartTag() throws JspException {
return this.SKIP_BODY;
}
// 标签结束时调用
public int doEndTag() throws JspException {
// 通过隐式对象pageContext获得隐式对象out
JspWriter out = pageContext.getOut();
try {
// 向客户端输出
out.write("Hello World<br />");
} catch (IOException e) {
throw new JspException("IO Error " + e.getMessage());
}
// 计算页面其他部分
return this.EVAL_PAGE;
}
// 销毁前调用,用于释放资源
public void release() {
}
public Tag getParent() {
return null;
}
}
4. 新建xml配置文件
(1). 在WEB-INF下新建文件夹tlds
(2). 新建xml文件
Step 1
Step 2
Step 3
Step 4
(3). 配置xml文件<?xml version="1.0" encoding="UTF-8"?>
<javaee:taglib version="2.1" xmlns:javaee="http://java.sun.com/xml/ns/javaee" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/web-jsptaglibrary_2_1.xsd ">
<javaee:tlib-version>1.0</javaee:tlib-version>
<javaee:short-name>demo</javaee:short-name>
<javaee:uri>/demo</javaee:uri>
<javaee:tag>
<javaee:name>hello</javaee:name>
<javaee:tag-class>bid.zhazhapan.fims.tag.HelloTag</javaee:tag-class><!-- 类所在的路径 -->
<javaee:body-content>empty</javaee:body-content><!-- 表示无标签体内容 -->
</javaee:tag>
</javaee:taglib>
5. 新建一个test.jsp来测试标签
详细代码
```
Insert title here
```
输出内容: Hello World
JSP自定义不带属性和标签体的简单标签的更多相关文章
- JSP自定义标签就是如此简单
tags: JSP 为什么要用到简单标签? 上一篇博客中我已经讲解了传统标签,想要开发自定义标签,大多数情况下都要重写doStartTag(),doAfterBody()和doEndTag()方法,并 ...
- JSP第七篇【简单标签、应用、DynamicAttribute接口】
为什么要用到简单标签? 上一篇博客中我已经讲解了传统标签,想要开发自定义标签,大多数情况下都要重写doStartTag(),doAfterBody()和doEndTag()方法,并且还要知道SKIP_ ...
- JAVAWEB开发之JSTL标签库的使用、 自己定义EL函数、自己定义标签(带属性的、带标签体的)
JSTL JSTL简单介绍: JSTL的全称:JSP Standard Tag Library,JSP标准标签库 JSTL的作用: 提供给Java Web开发者一个标准通用的标签函数库 和E ...
- javaweb中带标签体的自定义标签
1.完整的示例代码: 标签体的处理器类,JspFragmentTest.java package com.javaweb.tag; import java.io.IOException; import ...
- JSP自定义标签——简单标签(2)
在前一篇博客中,我们已经学习了自定义的简单标签的基本使用方法,这一篇我们来学习如何在简单标签中添加标签属性.对自定义标签添加一些属性,可以使我们的标签功能更加灵活和复用.例如前一篇博客使用简单标签来对 ...
- Java jsp 自定义标签
1 自定义标签 1.1 引入 需求: 向浏览器输出当前客户的IP地址 (只能使用jsp标签) 1.2 第一个自定义标签开发步骤 1)编写一个普通的java类,继承SimpleTagSupport类,叫 ...
- JSP 自定义标签
0 标签技术的API继承体系 1 作用 jsp自定义标签用于移除页面中的java代码 2 实现 2.1 标签处理类ViewIPTag.java package com.zsm.util; import ...
- JSP自定义标签(标签处理器 tld文件)
标签的形式如下,标签处理器就是处理JSP页面中的标签的属性和内容,定义好之后就跟使用JSTL一样 <标签名 属性名="属性值" 属性名="属性值"> ...
- 1.4(学习笔记)JSP自定义标签
一.JSP自定义标签 JSP自定义标签,可以通过实现Tag接口.继承TagSupport类来设置标签功能. 后续通过配置文件将标签和具体的实现类关联. 二.自定义第一个标签(实现Tag接口) 自定义标 ...
随机推荐
- ant编译java的例子
ant hello world 建一上文件夹HelloWorld.里面的内容如下所示: 第一个例子不讨论build1.xml和HelloWorld1.java.运行出helloworld程序要如下步骤 ...
- Weinre 远程调试移动端页面
Weinre 是一款远程调试工具,使用JS编写, 可以让我们在电脑上直接调试运行在手机上的远程页面,当你的代码已经发布上线,这时候出现了问题,Weinre就可以帮你调试. 调试场景 调试页面在手机上. ...
- HttpHelper万能框架V1.6
下载地址:http://yun.baidu.com/share/link?uk=1745303310&shareid=1343567367 引入:System.Web和System.Web.E ...
- 第33篇 js 常用简单的写法
1.取整 取整可以使用'~~'相当于Math.floor() ~~1.5=1; 2.判断为空或者undefine时赋一个自定义的值 var obj={a:"111",b:" ...
- 利刃 MVVMLight 4:绑定和绑定的各种使用场景
一.绑定: 主要包含元素绑定和非元素绑定两种. 1.元素绑定,是绑定的最简单形式,源对象是WPF的元素,并且源对象的属性是依赖项属性. 根据我们之前的知识 ,依赖项属性具有内置的更改通知支持.所以当我 ...
- Java 快排
基于分治法的快排,用递归实现. 首先讲一下实现的过程. 1.在数组中取一个数作为基准,所谓的基准就是用来对比的数. 2.然后在数组中从后往前找,找到一个逆序数为止,找到之后就把它的值赋值到基准数的位, ...
- PHP解耦的三重境界(浅谈服务容器)
阅读本文之前你需要掌握:PHP语法,面向对象 在完成整个软件项目开发的过程中,有时需要多人合作,有时也可以自己独立完成,不管是哪一种,随着代码量上升,写着写着就"失控"了,渐渐&q ...
- Matlab自带常用的分类器,直接复制用就好了,很方面。
很方面的,懒得自己写了. clc clear all load('wdtFeature'); % 训练样本:train_data % 矩阵,每行 ...
- 3381: [Usaco2004 Open]Cave Cows 2 洞穴里的牛之二
3381: [Usaco2004 Open]Cave Cows 2 洞穴里的牛之二 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 21 Solved ...
- 《Machine Learning》系列学习笔记之第三周
第三周 第一部分 Classification and Representation Classification 为了尝试分类,一种方法是使用线性回归,并将大于0.5的所有预测映射为1,所有小于0. ...