简单标签

JSP第七篇【简单标签、应用、DynamicAttribute接口】 为什么要用到简单标签?上一篇博客中我已经讲解了传统标签,想要开发自定义标签,大多数情况下都要重写doStartTag(),doAfterBody()和doEndTag()方法,并且还要知道SKIP_BODY,EVAL_BODY等等的变量代表着什么,在什么方法中使用。这样实在是太麻烦了!因此,为了简化标签开发的复杂度,在JSP 2.0中定义了一个更为简单、便于编写和调用的SimpleTag接口来实现标 阅读详情
 

简单标签

实现了SimpleTag接口的标签通常成为简单标签

setJspContext方法:用于把jsp页面的pageContext对象传递给标签处理器对象,从而通过pageContext对象获得web编程中的其他的八个内置对象(request、response、….)

setParent方法:用于把父标签处理对象传递给当前标签处理器对象

getParent方法:用于获得当前标签处理器对象的父标签

setJspBoay方法:用于把代表标签体的fragment对象传递给比群殴前处理器对象

dotage方法:用于完成所有的标签逻辑,包括输出、迭代、修改标题内容等。

                              在此方法中可以跑出javax.jspSkipPageException异常,用于通知web容器不再执行jsp页面中位于结束标记或面的内容,这等小雨传统标签的doEndTag、方法中返回Tag.SKIP_AGE敞亮的情况。

JspFragment类

·此类的实例代表一段符合jsp语法的jsp代码,这段代码

中不能包含脚本元素

·weeb容器在处理简单标签时,会把标签内容用一个jspfargment对象表示,并调用标签处理器对象的setJspBody方法把JspFragment对象传递给标签处理器对象,

                            JspFragment类中只定义了两个方法:

                                   getJspContext方法、invokie(java.io.Writer out)

invoke方法详解

 

简单标签的应用

1、  利用简单标签完成自定义标签以后的jsp页面是否进行显示

创建一个标签处理器

//利用自定义标签完成标签以后的内容是否显示

    @Override

    public void doTag() throws JspException, IOException {

       // TODO Auto-generated method stub

       //JspFragment jf=this.getJspBody();//获取标签体

       //处理标签体

       //jf.invoke(null);//到客户端显示,如果没有标签体这句话可能会抛异常

       throw new SkipPageException();//利用此异常来控制是否显示自定义标签以后的jsp页面

}

在tld中进行描述

<tag>

  <name>demo7</name>

  <tag-class>com.hbsi.web.tag.SimpleTagDemo7</tag-class>

  <body-content>scriptless</body-content>

 </tag>

2、  利用简单标签完成迭代

创建一个标签处理器

@Override

    public void doTag() throws JspException, IOException {

       // TODO Auto-generated method stub

       JspFragment jf=this.getJspBody();

       for(int i=0;i<count;i++){

           jf.invoke(null);

       }

}

增加一个属性:count

private int count;//要和jsp中的属性名称一致

   

    public void setCount(int count) {

       this.count = count;

}

在tld文件中进行描述

<tag>

  <name>demo8</name>

  <tag-class>com.hbsi.web.tag.SimpleTagDemo8</tag-class>

  <body-content>scriptless</body-content>

  <attribute>

    <name>count</name>

    <required>true</required>

    <rtexprvalue>true</rtexprvalue>

  </attribute>

 </tag>

3、  简单标签控制标签体的内容进行修改

编写处理器

 

    @Override

    public void doTag() throws JspException, IOException {

       // TODO Auto-generated method stub

       JspFragment jf=this.getJspBody();//获取标签体内容

      

       StringWriter sw=new StringWriter();//得到一个流对象

       jf.invoke(sw);//将标签体的内容写入到流中

      

       String content=sw.toString().toUpperCase();//大小写进行转换

      

       JspWriter jw=this.getJspContext().getOut();//获取到输出流

       jw.write(content);//将转换后的内容输出

    }

Tld文件描述

<tag>

  <name>demo9</name>

  <tag-class>com.hbsi.web.tag.SimpleTagDemo9</tag-class>

  <body-content>scriptless</body-content>

 </tag>

 

 

 

二、带属性的标签

       <csdn:demo8 count=”9”>

 

</csdn:demo8>

 

标签处理器中一定也得包含一个私有的属性count和setter方法(给属性赋值)

Dotage方法包含业务逻辑代码

 

Tld文件中

       <Tag>

              <name></name>

              <tag-class></tad-class>

              <body-content></body-content>

              <attirbute>

       <name></name>

       <requeired></requeired>//是否是必须的

<rtexprvalue></rtexprvalue>//是否可以为el表达式运行时表达式计算:<csdn:demo count=”${date}”>或者是<%=date+1%>

</attribute>

</Tag>

JSP简单标签入门与实践指南 本文还有配套的精品资源,点击获取 简介:JavaServer Pages (JSP) 简单标签是一种简单实用的自定义标签处理机制,适用于初学者。它允许将HTML或XML文档与Java代码结合,以创建动态网页。本指南将详细介绍JSP标签的概念、简单标签库的创建和使用,以及如何结合JSP EL表达式来处理数据。通过定义TLD文件、实现标签处理接口和编写 doTag() ... 阅读详情

相关推荐

半导体EAP系统入门指南:从零开始理解设备自动化程序(附实战案例)

本文深入浅出地介绍了半导体制造中EAP(设备自动化程序)系统的核心作用与工作原理。EAP作为连接MES与生产设备的桥梁,负责指令翻译、数据采集与实时控制,是实现晶圆厂全自动化的关键。文章通过对比手动与自动模式,阐述了EAP在提升效率、保障良率方面的价值,并提供了一个实战案例,帮助读者从零构建对半导体CIM体系中这一关键组件的理解。

weixin_29200741的博客 734

使用简单标签进行开发

简单标签执行的流程图     l  控制标签体的执行   1.标签处理器类 package com.jstl.simple.tag; import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.JspFragment; import ja

vaecherisher的专栏 883

大模型训练方法全面解析:SFT、RFT、TRPO、DPO、PPO、GRPO、RLH、RLHF技术深度剖析

大模型训练方法全面解析 本文系统介绍了当前主流的大模型训练和对齐技术,包括监督微调(SFT)、拒绝采样微调(RFT)、信任域策略优化(TRPO)、直接偏好优化(DPO)、近端策略优化(PPO)等。这些方法各有特点:SFT简单高效但数据依赖性强;RFT通过质量筛选提升输出质量;TRPO训练稳定但计算复杂;PPO是RLHF核心算法,平衡探索与利用。文章详细分析了各方法的实现原理、优势劣势及适用场景,为开发者选择合适的大模型训练策略提供参考。

2795

简单标签与带属性的标签

TIP:简单标签 简单标签定义的5个方法: 1、  setJspContext方法 用于把JSP页面的pageContext对象传递给标签处理器对象 2、  setParent方法 用于把父标签处理器对象传递给当前标签处理器对象 3、  getParent方法 用于获得当前标签的父标签处理器对象 4、  setJspBody方法 用于把代表标签体的JspFragment对象

622

Jetson Nano系统重装的艺术:从格式化到烧录的深度解析

本文详细解析了Jetson Nano系统重装的完整流程,从SD卡格式化到系统镜像烧录的进阶技巧,包括硬件选择、软件准备、常见问题处理及深度学习环境配置。特别推荐使用三星EVO Plus SD卡和官方电源以确保稳定性,适合开发者快速掌握嵌入式设备系统重装的核心技术。

weixin_28273593的博客 610

【EMC电磁兼容】02.04——原理图的实战落地细节

原理图上的关于EMC的落地体现一、元器件的选型二、原理图上的EMC体现在哪里?1.芯片电源管脚滤波去耦:2.时钟电路滤波设计3.低速电路滤波抗干扰设计4.通讯接口电路的防护滤波5.系统输入电源端口电路的防护滤波6.系统接地的定义7.芯片软件功能的审查 一、元器件的选型 ​ 原理图最初设计涉及到选型元器件方面: 元器件选型 不仅仅功能需要满足要求,还需要考虑其它细节参数在不同应力下的反应,封装的不同也会产生不同的变化。 元器件替代 常常因为成本原因进行器件替代,除了要考虑功能参数相同时也要考虑系统参数

Time to Forget 2243

简单标签体

今天我们主要说说简单标签体,昨天说的自定义标签体2.0之前的实际上已经很少用了。但是我们还是要懂的。 其实简单标签体和昨天说的标签体用途是一样的,不过它更简单,更明了,代码更少。 下面我们就通过几个例子来看看简单标签体的用法 1)  使用自定义标签控制页面内容(标签体)是否输出    public void doTag() throws JspException, IOException

10-3G-程龙 668

ADS2023实战:2.4GHz超外差接收机从设计到链路预算全流程解析

本文以ADS 2023软件为平台,详细解析了2.4GHz超外差接收机从核心指标定义、架构原理到完整链路搭建与仿真的全流程。通过实战演练,重点阐述了如何利用ADS进行谐波平衡仿真和链路预算分析,以量化评估系统增益、噪声系数等关键性能,为射频工程师提供了一套从理论到仿真的系统级设计方法。

herb5的博客 817

HTML的一些简单标签

<!-- 标题标签: h1到h6:会将其中的数据加粗加黑显示.并且显示依次减弱.标题标签自带换行功能.(块级标签) 属性: align: center left right 水平线标签: hr:会在页面中显示一条水平线,默认居中显示 属性: ...

weixin_30344131的博客 180

从零到英雄:Spring Boot 微服务架构全攻略

在数字化转型的时代,微服务架构已成为构建可扩展、高可用系统的首选方案。本文以“从零到英雄”为主题,详细指导读者使用Spring Boot快速构建微服务帝国。从基础环境搭建入手,逐步深入到服务发现、配置管理、负载均衡、断路器、API网关、安全认证、监控与部署等核心模块。通过大量代码示例和详细解释,包括中文注释,帮助初学者和中级开发者掌握Spring Boot的核心概念和技术实践。文章强调实际操作,涵盖RESTful API开发、数据库集成、容器化部署等内容,并讨论常见问题与优化策略。无论你是Java开发者还是

一个被知识诅咒的人 2700

第五章-AllData集成DataSophon作为数据平台功能

🔥🔥 AllData大数据产品是可定义数据中台,以数据平台为底座,以数据中台为桥梁,以机器学习平台为中层框架,以大模型应用为上游产品,提供全链路数字化解决方案。全新会员商业版 X 微信群:https://docs.qq.com/doc/DVHlkSEtvVXVCdEFo

AllDataDC的博客 1637

JavaWeb_简单标签(自定义标签)HelloWorld

传统标签和简单标签 可发自定义标签,其核心就是编写处理器类,一个标签对应一个标签处理器类,而一个标签库则是很多标签处理器的集合。所有标签处理器类都要实现JspTag接口,该接口没有定义任何方法,主要作为Tag和SimpleTag接口的父接口。 在JSP2.0以前,所有标签处理器类都必须实现Tag接口,这样的标签称为传统标签。 JSP2.0规范又定义了一种新的类型的标签,称为简...

weixin_30496431的博客 101

SAP和Oracle EBS作为全球顶级的ERP系统,在中国市场深耕数十年,尤其是在大型国企、央企和跨国企业中,已经形成了强大的用户习惯和“舒适区”依赖

国产ERP替代国际系统的关键挑战在于打破用户对SAP/Oracle的操作习惯和心理依赖。需采取多维策略:战略上明确价值主张、分阶段实施;产品上优化用户体验、确保数据迁移;实施上加强情景化培训、流程再造。成功替代70%取决于变革管理,需将"被动替换"转为"主动升级",让用户在新系统中建立更优的舒适区。

金牌架构师 383

简单的tab标签

简单的tab标签演示 XML/HTML Codediv id="moving_tab">      div class="tabs">          div class="lava">div>          span class="item">Popular Postsspan>          span class="item">Recent Postsspan>        div

管子(zero)的杂乱空间 1786

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

标签与简单标签

一.   自定义标签的开发步骤 1、编写一个类实现Tag接口。这个类就称之为标签处理类 TagSupport实现了Tag接口。   public class ShowRemoteIpTag extendsTagSupport{          @Override          publicint doStartTag() throws JspException {

Tang Hui 555

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Jsp简单标签库开发

Jsp简单标签库开发,是指

xuhu的专栏 609

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

JSP简单标签

<br />第9章 简单标签 9.1 简单标签知识 在Jsp2.0中定义SimpleTag 接口用于替换传统的标签开发的接口,它只有一个方法doTag() 用于取代传统的doStartTag()、doEndTag()、doAfterBody() 等方法。 1、 JSP引擎调用标签处理器对象的setJspContext(),将JSP页面的pageContext()对象传递给标签处理器对象。 2、 JSP引擎调用setParent(),将父标签处理器对象传递给标签处理器对象。

yangxueyong的专栏 761

简单标签的简介和实例运用

简单标签的简介和实例运用 一 概念 1.简单标签出现的目的 由于传统标签使用三个标签接口来完成不同的功能,显得过于繁琐,不利于标签技术的推广, SUN公司为降低标签技术的学习难度,在JSP 2.0中定义了一个更为简单、便于编写和调用的SimpleTag接口来实现标签的功能。实现SimpleTag接口的标签通常称为简单标签。 2.简单标签定义的方法---SimpleTag接口的方法 (1...

yaasshole 163

JSP自定义标签——简单标签(1)

  前面一篇博客介绍了自定义标签的传统标签使用方式,但是我们会发现,使用传统标签非常的麻烦,而且接口还多,现在传统标签基本都没用了,除了一些比较久的框架。Sun公司之后推出了一个新的标签使用方式,称之为简单标签。简单标签也作为JSP2.0以后的标准标签使用方式,下面是一张传统标签和简单标签的对比,可以看到简单标签真的简化了不少:      与传统标签的使用步骤是类似的,需要满足以下两个步骤: ...

weixin_30847939的博客 143

JSP自定义标签就是如此简单

为什么要用到简单标签? 因此,为了简化标签开发的复杂度,在JSP 2.0中定义了一个更为简单、便于编写和调用的SimpleTag接口来实现标签的功能。。 一般来说,实现了SimpeTag接口的标签称之为简单标签 SimpleTag接口 首先我们来看一下它的源码吧: public interface SimpleTag extends JspTag { void doTag() ...

weixin_28695537的博客 911

传统标签与简单标签各个接口,类之间的关系

左边的传统标签,右边的为简单标签

qq_32748869的博客 107

JSP自建标签_3_简单标签自定义_为标签定义属性

简单标签的声明周期:         (1)当jsp在执行的过程中,每当遇到一个简单标签时都会创建一个处理类对象.         (2)调用setJspContext传入当前jsp页面的PageContext对象.         (3)如果当前标签有父标签则调用setParent方法将父标签传入,如果没有父标签则这个方法不会被调用.         (4)如果该标签具有属性,调用属性的

良之才的专栏 560

简单自定义标签

Test.jsp My JSP 'Test.jsp' starting page This is my JSP page. Date : File : 为了将这个这个Test.jsp改成自定义标签方法,我们分别使用简单标签和内容标签两种不同的方式实现。 1. 简单标签 由于我们...

whatsjava的博客 121
上一篇: 自定义标签
下一篇: 自定义标签的案例
ping159
博客等级 码龄15年 6粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值