Taglib学习笔记

htaglib:用于TagLib(音频元数据库)的Haskell绑定 立即下载

一、概要:

1、JSP标签技术始于JSP1.1

2、作用:代码复用;JSP页面简洁

3、四个步骤:
    A、创建实现标签功能的JAVA类(Bean或Servlet)
    B、创建标签库的描述文件 
    C、web.xml中添加标签库说明
    D、JSP页面中添加标签库说明,及使用标签

4、标签可以访问的数据范围类型:application;session;request;page.
------------------------[主要是为了说明什么时候用JavaBean或TagLib]
二、TagLib常用知识点

1、JSP Tag API----标签处理类必须是此API[只两种,且任一种即可]的子类
-----javax.servlet.jsp.TagSupport
-----javax.servlet.jsp.BodyTagSupport

2、TagSupport的主要方法[8种]及重要属性[2个]
    1)主要方法:
      与Servlet容器处理TAG开关相关的方法:
      A、doStartTag()---Servlet容器遇到自定义标签的起始标志时调用该方法
      B、doEndTag()----Servlet容器遇到自定义标签的结束结志时调用该方法

     与标签处理类中值相关的方法:
      C、setValue(String k,Object o)---在标签处理类中设置key/value
      D、getValue(String k)--------------在标签处理类中根据参数key返回相应的value
      E、removeValue(String k)---------删除标签处理类中的相应的key/value 

     与Servlet容器相关,设置页面上下文相关的方法:
     F、setPageContext(PageContext pc)--设置PageContext对象,该方法由Servlet容器
    在调用doStartTag或doEndTag方法前调用

    与标签嵌套相关的方法:
     G、setParent(Tag t)----------------设置嵌套了当前标签的上层标签的处理类,该方法由
    Servlet容器在调用doStartTag或doEndTag方法前调用
    H、getParent()---------------------- 返回嵌套了当前标签的上层标签的处理类

2)重要属性:
A、parent---代表了嵌套了当前标签的上层标签的处理类
B、pageContext----代表了Web应用中的javax.servlet.jsp.PageContext对象
两点说明:
C、Servlet容器在调用doStartTag()或doEndTag()方法前,会先调用
setPageContext()和setParent()方法,调置pageContext和parent.
D、在doStartTag()或doEndTag()方法中可以通过getParent()方法获取上层标签的处理类;
在TagSupport类中定义了protected类型的pageContext成员变量,因此在标签处理类
中可以直接访问pageContext变量。

3、pageContext类的几点说明:
A、pageContext类提供了保存及访问WEB应用共享数据的方法:
---public void setAttribute(String name,Object value,int scope)
---public Object getAttribute(String name,int scope)
B、scope---用来指定数据的作用范围。可选值如下:
PageContext.PAGE_SCOPE
PageContext.REQUEST_SCOPE
PageContext. SESSION_SCOPE
PageContext.APPLICATION_SCOPE
如:setAttribute("userName","dxm",PageContext.SESSION_SCOPE);
二、TagLib常用知识点

4、javax.servlet.jsp.TagSupport的两个基础方法的重申:
---public int doStartTag() throws JspException
---public int doEndTag() throws JspException
1)doStartTag()方法:
A、当servlet容器遇到自定义标签的起始标志,就会调用doStartTag()方法。
B、doStartTag()方法会返回一个整数值,用来决定程序的后续流程。它有两个可选值:
----Tag.SKIP_BODY
表示忽略掉标签之间的内容
----Tag.EVAL_BODY_INCLUDE
表示标签之间的肉容要正常执行
如:
... ...
Dxm,Hello!
... ...
     
若的doStartTag()方法返回Tag.SKIP_BODY,“Dxm,Hello!”字样即不会出现在页
面;若返回Tag.EVAL_BODY_INCLUDE,则页面上显示出"Dxm,Hello!"字样。

2)doEndTag()方法:
A、当servlet容器遇到自定义标签的结束标志,就会自动调用doEndTag()方法
B、doEndTag()方法也会返回一个整数值,用来决定程序的后续流程。它也有两个可选值:
---Tag.SKIP_PAGE
表示立刻停止执行JSP网页,网页上未处理的静态内容和JSP程序均被忽略,任何已有的输出
内容立刻返回到客户的浏览器上。
---Tag.EVAL_PAGE
表示按正常的流程继续执行JSP网页。

5、用户自定义标签属性:
A、标签中可以包含自定义的属性,如:

... ...


B、但标签处理类中应将这个属性做为成员变量来使用,并给出赋值及取值的方法。如:
private String username;
public setUsername(String value){
this.username=value;
}
public String getUsername(){
return username;
}



三、一个简单的范例
1、创建hello标签:定义一个名为mytaglib的标签库,它包含一个简单的hello标签,这个标签能够将
JSP页面中所有的解析为字符串"hello".
A、hello标签的处理类:
public int doEndTag() throws JspException{
try{
pageContext.getOut().print("hello");
}catch(Exception e){
throw new JspTagException(e.getMessage());
}
return EVAL_PAGE;
}
B、创建标签库描述文件:.tld文件存放位置;标签库名,标签名,属性,对应的处理类。

C、web.xml中引入标签库:

... ...

/mytaglib
/WEB-INF/tld/mytaglib.tld

... ...

D、JSP页面中引入标签库说明,并使用标签:

taglib指令中,prefix属性值用作指代mytaglib标签库。

四、另一个标签
1、创建一个能替换helloapp应用中JSP网页的静态文本的标签,这个标签名为message,它放在mytaglib标签库中。
2、在hellowithtag2.jsp文件中使用message标签的代码如下:

机器人关节电机发热难题:从工程化角度拆解热管理解决方案(下) 摘要:本文系统分析了机器人关节电机与驱动系统的热管理方案,重点解决局部热点问题。针对不同功率场景提出了热管/均热板散热(适用于中小功率)和液冷散热(适用于高功率)的具体实施方案,详细比较了结构参数、材料选择、安装工艺和散热效果。特别强调了电机-驱动协同热管理的重要性,提出"工况联动+热路径共享"的核心理念,包括一体化散热结构设计和动态控制策略。最后介绍了热仿真与测试验证方法,确保方案的有效落地。通过系统级热管理,可显著降低温升(热点区域降温30-60℃),同时优化体积和能耗。 阅读详情

相关推荐

【tips】在PyCharm中安装opencv图文版详细教程

pip如下图所示,左边的蓝色图标就是终端。点开终端后,键入命令,按下回车后就开始下载了。如果你更喜欢图形化操作,可以在 PyCharm 中直接安装:。点击右上角的 +按钮(添加包)。搜索或,点击。

zhousanguhe的博客 6741

jsp的taglib指令用法

Taglib 指令是定义一个标签库以及其自定义标签的前缀.。 需要导入standard.jar jsp-api.jar 两个包 下载地址<%@ taglib uri="" prefix="c"%>prefix 是一个标签库别名 taglib的uri 标签库引入jsp文件时uri有两种写法。 1、自定义。 你可以自己起个有个性的名字,但这样

小熊的专栏 5万+

Ubuntu20.04实时内核补丁PREEMPT_RT编译与安装全流程解析

本文详细解析了在Ubuntu20.04系统上编译与安装实时内核补丁PREEMPT_RT的全流程。从内核与补丁版本匹配、编译环境准备,到内核配置、编译排错,再到最终安装、验证与进阶优化,提供了手把手的实战指南,旨在帮助机器人、工业控制等对实时性有苛刻要求的开发者构建低延迟、高确定性的Linux系统。

weixin_29213827的博客 186

taglib指令标签的详细使用

taglib 指令标记的使用 taglib 指令用于引入 JSP 页面中需要使用的标签库的定义,以便在页面中使用标签库定义的标签。

weixin_64240179的博客 5272

AI Agent + 大数据 + RAG:电商用户行为分析的低成本落地

本文探讨了AIAgent与大数据技术在电商用户行为分析中的应用。通过构建"数据采集-实时分析-智能决策"的全自治链路,解决了传统大数据分析的三大痛点:人工建模周期长、实时性不足和决策闭环断裂。系统采用Flink+Spark处理实时数据,结合基于DeepSeek-V3.1的AIAgent实现智能分析,并通过飞书RAG模块动态获取业务知识。落地效果显示,分析响应时间从2-3天缩短至30秒,推荐转化率提升134%,验证了该方案在提升电商数据决策效率方面的显著价值。

想~ai抽 1620

【运筹学】什么是基变量?对于线性规划问题中“基”概念的理解(3月3日学习笔记)

在学习《线性规划与目标规划》的过程中,课程的主讲老师郭韧给出了对于基概念的定义如下图 图片来源:运筹学(中国大学mooc网) 由此我产生了几个疑惑:1.如何理解B是线性规划问题的一个基?2.为什么说最多有CnmC_n^mCnm​个基呢?     1.如何理解B是线性规划问题的一个基?1.如何理解B是线性规划问题的一个基?1.如何理解B是线性规划问题的一个基? 在回答第一个...

纸羊同学的博客 3万+

深入浅出taglib

摘要: 标准的JSP 标记可以调用JavaBeans组件或者执行客户的请求,这大大降低了JSP开发的复杂度和维护量。JSP技术也允许你自定义taglib,其实换句话说,taglib可以看成是对JSP标记的一种扩展,正如xml是对html的一种扩展一样。taglib通常定义在tag标签库中,这种标签库存放着你自己定义的tag标签。简而言之,如果使用taglib,那么你可以设计自己的JSP标记! 一 ...

weixin_39214481的博客 1205

自动分割和测量混凝土钢筋的思路与原理

该文提出了一种基于PCL库的点云处理系统,用于自动测量混凝土结构中钢筋的几何参数。系统采用多阶段处理流程:首先通过RANSAC算法提取地面并旋转对齐;接着使用区域生长算法分割混凝土结构;然后采用RANSAC线检测识别钢筋,按方向分类;最后通过圆柱拟合和坐标差计算获得钢筋间距、直径和高度差等参数。文章详细介绍了各模块的核心算法,包括地面检测、坐标变换、钢筋识别和几何计算等关键步骤,并分析了主要参数的敏感性。系统通过分层处理和坐标变换确保测量精度,为混凝土结构的无损检测提供了自动化解决方案。

weixin_45196569的博客 679

JSP Taglib指令具有什么功能呢?

JSP Taglib指令的功能简介说明

qq_25073223的博客 1411

2026国内Claude Code保姆级教程:安装、避坑、防串台全优化

安装 Claude Code CLI + 切换 npm 国内镜像优先配置固定关闭:自动联网、自动项目扫描VSCode 内置终端直接用,不装多余插件会话隔离+指令约束,彻底解决 Rust、小程序 跨语言串台。

lpfasd123的博客 2542

Python爬虫零基础入门【第九章:实战项目教学·第17节】内容指纹去重:URL 变体/重复正文的识别!

我长期专注 Python 爬虫工程化实战,主理专栏 👉 《Python爬虫实战》:从采集策略到反爬对抗,从数据清洗到分布式调度,持续输出可复用的方法论与可落地案例。内容主打一个“能跑、能用、能扩展”,让数据价值真正做到——抓得到、洗得净、用得上。

喵手的博客 823

【亲测免费】 TagLib - 功能强大的元数据处理库

- **元数据操作**:TagLib 支持读取和修改音频文件的标题、艺术家、专辑、年份等元数据信息。 - **文件格式支持**:TagLib 支持多种音频文件格式,包括 MP3、FLAC、Ogg Vorbis、WAV 和 AIFF 等。 - **ID3 标签支持**:TagLib 提供了对 ID3v1 和 ID3v2 标签的支持,可以方便地读取和修改这些标签的内容。 - **封面图片支持**:Ta...

gitblog_00033的博客 901

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

taglib学习笔记

在web.xml加入taglib <taglib> <taglib-uri>/WEB-INF/tiles.tld</taglib- uri> <taglib-location>/WEB-INF/tiles.tld</taglib...

chuanzaang6621的博客 131

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

怀旧版电脑GBC模拟器

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

JSON taglib学习笔记

JSON-taglib 是 JSP 2.0 标签库,用于生产 JSON (JavaScript Object Notation) 数据结构。 使用方法:   把 Json-taglib.jar 到 WEB-INF/lib目录 下面是一个示例: &lt;json:object&gt;   &lt;json:property name = " outer "  value = ...

liyiye 489

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

JSP自定义标记taglib学习笔记

一、什么是Taglib? 标记库(tag library),是指由在JSP页面中使用的标记所组成的库。JSP容器推出时带有一个小型的、默认的标记库。而自定义标记库是为了某种特定的用途或者目的,将一些标记放到一起而形成的一种库。在一个团队中协同工作的开发者们可能会为各自的项目创建一些非常特定化的自定义标记库,同时也会创建一个通用自定义标记库,以供当前使用。 标准的JSP 标记可以调用JavaBea

Wiinder的博客 5847

Taglib入门文章

关于Taglib的文章:《深入浅出taglib》 http://www.javaresearch.org/article/showarticle.jsp?column=106&thread=9477《taglib简介》http://www-900.ibm.com/developerWorks/cn/java/j-jsp07233/index.shtml?ca=dwcn-isc&me=cci

[布袋]的布袋 1236

JSP Taglib 学习笔记

今天看书摸索了一下午终于弄清楚 JSP Taglib 的基本原理,做下笔记以备忘. [color=blue]首先[/color]要写好一个java类来定义自己的Tag,这个类必须继承[color=red]javax.servlet.jsp.tagext.SimpleTagSupport[/color]类才可以!!! [color=green]HelloJSP_Taglib.java [...

dishell的专栏 251

JUnit学习笔记16---用JSP和taglib进行单元测试3

用mock objects对taglib进行单元测试    因为JSP不是纯粹的java代码,所以,使用mock进行测试是行不通的,但是,taglib却是纯粹的java代码,可以测试,但是它也有麻烦的地方,我们要为抽象的java类的PageContext创建mocks。    在前面,我们曾学习了使用EasyMock和DynaMock的框架来创建mock,但是,他们使用的是Dynamic P

Chatopera 1346

Javaweb学习笔记——(十二)——————JSP指令:page指令、include指令、taglib指令,JavaBean,内省,EL表达式

JSP指令JSP指令分类 JSP有三大指令: *page指令 *include指令 *taglib指令 在JSP中没有任何指令是必须的。 但基本上每个JSP都是使用page指令============================================================page指令 page指令是最为常用的指令 1.page指令的常用属性: *import:...

第二颗大白菜 3981

JUnit学习笔记15---对JSP和taglib进行单元测试2

使用Cactus对taglib进行单元测试 下图描述了使用Cactus对标记库的一个标记进行单元测试的过程。(图片链接) 1.Cactus对象初始化测试类,该类必须派生自JspTestCase类,测试标记时所需要的任何HTTP参数,都需要在beginXXX方法中进行配置。例如,如果某标记从Http参数提取信息,那么你需要在beginXXX方法中定义该参数。 2.在内部,C

pan-zy的专栏 957

JUnit学习笔记14---对JSP和taglib进行单元测试1

                                                  A test that can’t be repeated is worthless.---Brian Marick 本章内容: 分别使用Cactus和mock objects对JSP进行单元测试 用Maven运行Cactus对JSP的测试 用Cactus对Taglib进行

Chatopera 4737

Javaweb学习笔记——(十二)——————JSP指令:page指令、include指令、taglib指令,JavaBean,内省,EL表达式...

JSP指令JSP指令分类 JSP有三大指令: *page指令 *include指令 *taglib指令 在JSP中没有任何指令是必须的。 但基本上每个JSP都是使用page指令============================================================page指令 page指令是最为常用的指令 1.page指令...

weixin_33922670的博客 292
上一篇: Struts,Hibernate,Spring优缺点
下一篇: 深入了解struts1.2中的struts-config.xml
hjpengjava
博客等级 码龄18年 5粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值