JSP 传统标签extends TagSupport
1.控制JSP页面某一部分内容是否执行
public int doStartTag()
返回EVAL_BODY_INCLUDE,执行
返回SKIP_BODY,不执行
2.控制整个JSP页面是否执行
public int doEndTag()
返回EVAL_PAGE,执行
返回SKIP_PAGE,不执行
3.控制JSP页面内容重复执行
package cn.itcast.web.tag; import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.IterationTag;
import javax.servlet.jsp.tagext.Tag;
import javax.servlet.jsp.tagext.TagSupport; //控制标签体重复执行
public class TagDemo3 extends TagSupport { int x = 5; @Override
public int doStartTag() throws JspException {
return Tag.EVAL_BODY_INCLUDE;
} @Override
public int doAfterBody() throws JspException {
x--;
if (x > 0) {
return IterationTag.EVAL_BODY_AGAIN;
} else {
return IterationTag.SKIP_BODY;
}
} }
4.修改JSP页面内容输出
package cn.itcast.web.tag; import java.io.IOException; import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.BodyTagSupport;
import javax.servlet.jsp.tagext.Tag; public class TagDemo4 extends BodyTagSupport { @Override
public int doEndTag() throws JspException {
// TODO Auto-generated method stub String content = this.getBodyContent().getString(); String result = content.toUpperCase(); try {
this.pageContext.getOut().write(result);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} return Tag.EVAL_PAGE;
} @Override
public int doStartTag() throws JspException {
// TODO Auto-generated method stub
return BodyTagSupport.EVAL_BODY_BUFFERED;
} }
JSP 传统标签extends TagSupport的更多相关文章
- javaweb学习总结(二十四)——jsp传统标签开发
一.标签技术的API 1.1.标签技术的API类继承关系 二.标签API简单介绍 2.1.JspTag接口 JspTag接口是所有自定义标签的父接口,它是JSP2.0中新定义的一个标记接口,没有任何属 ...
- javaweb(二十四)——jsp传统标签开发
一.标签技术的API 1.1.标签技术的API类继承关系 二.标签API简单介绍 2.1.JspTag接口 JspTag接口是所有自定义标签的父接口,它是JSP2.0中新定义的一个标记接口,没有任何属 ...
- JSP传统标签开发
1.标签技术的API类继承关系 1).JspTag接口是所有自定义标签的父接口 该接口中没有任何属性和方法,只有两个直接子接口,Tag接口和SimpleTag接口,把实现Tag接口的自定义标签叫做传统 ...
- jsp jsp传统标签开发
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- 08.十分钟学会JSP传统标签编程
一.认识标签 1,说明:传统标签编程在开发中基本用不到,学习标签编程主要还是为了完善知识体系. 2,标签的主要作用:移除或减少jsp中的java代码 3,标签的主要组成部分及运行原理 4,简单标签示例 ...
- JSP 简单标签extends SimpleTagSupport
1.控制JSP页面某一部分内容是否执行 public void doTag() this.getJspBody().invoke(null);执行 空白,不执行 2.控制JSP页面内容重复执行 pac ...
- JSP自定义标签——传统标签
同JSP标签一样,自定义标签主要用于移除JSP页面中的Java代码,可以看到我们在JSP中其实是禁止使用Java脚本的,任何要想通过Java代码实现的功能都必须以标签形式来处理,可以使用JSP标签,J ...
- JSP第六篇【自定义标签之传统标签】
为什么要使用自定义标签? JSTL标签库只提供了简单的输出等功能,没有实现任何的HTML代码封装,并且某些复杂类型转换,或者逻辑处理的时候,JSTL标签库完成不了,需要自定义标签! 编写自定义标签的步 ...
- JavaWeb学习记录(十九)——jstl自定义标签库之传统标签
一.传统标签 (1)JSP引擎将遇到自定义标签时,首先创建标签处理器类的实例对象,然后按照JSP规范定义的通信规则依次调用它的方法. public void setPageContext(PageCo ...
随机推荐
- python中的函数def和函数的参数
'''函数: 1.减少代码重用性 2.易维护 3.可扩展性强 4.类型function 定义函数: def 函数变量名(): 函数的调用: 1.函数名加括号 2.函数如果没被调用,不会去执行函数内部的 ...
- JavaScript柯里化(currying)
参考: https://www.jianshu.com/p/33392cb4b055 https://ruby-china.org/topics/38385 https://stackoverflow ...
- 第二章 Vue快速入门--14 使用v-model实现计算器的案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- 《Python基础教程》第五章:条件、循环和其他语句
在Python中赋值运算和比较运算是可以连接的,运算符可以连在一起使用,如:0<age<100 ==运算符判定两个对象是否相等,is判定两者是否等同(同一个对象) 断言,在错误条件出现时直 ...
- JAVA NIO 文件部分
NIO java使用NIO的目的是为了提升性能,实际上老的io程序也已经优化过了,速度也有相应的提升. NIO主要有三大核心部分:Channel(通道),Buffer(缓冲区), Selector.传 ...
- cmake 出现undefined reference to xxx 解决办法
cmake没怎么用,主要觉得Clion很好用,但是默认clion使用的是cmake.再说一句clion是linux平台上很好用,个人强推. 当你使用clion的时候,如果使用了thread cstl等 ...
- Java常用类(一)Math类和Random类
一.Math类 Math类中有一些常用的数学函数,比较简单,不进行详细解释,仅举例说明: 1.绝对值和取整 import java.lang.Math; public class Mat { publ ...
- 多线程(四)wait()、notify()以及notifyAll()
六.线程的等待和唤醒 1.wait()和notify()的简单示范 public class Wait extends Thread{ public synchronized void run() { ...
- Badboy + JMeter性能测试(转)
1. 软件介绍 1.1 Badboy Badboy是用来录制操作过程的,它录制的结果是被jmeter做并发测试的素材使用. 下载网址:http://www.badboy.com.au/ 1.2下 ...
- 2019牛客暑期多校训练营(第三场)F 单调队列
题意 给一个\(n\times n\)的矩阵,找一个最大的子矩阵使其中最大值与最小值的差小于等于\(m\). 分析 枚举子矩阵的上下边界,同时记录每一列的最大值和最小值. 然后枚举右边界,同时用两个单 ...