JSP自定义标签(四)方法总结

一、自定义标签流程

1、实现标签处理类

① 实现自定义标签处理类要继承父类,常用的有:SimpleTagSupport、BodyTagSupport和TagSupport(BodyTagSupport的父类);

② SimpleTagSupport要实现doTag()方法;

③ BodyTagSupport通常要实现doStartTag(),doAfterBody()和doEndTag()这3个方法(可以部分实现);

④ 标签嵌套时,可以通过getParent()方法获取父级标签的处理类;

⑤ SimpleTagSupport可以将getJspContext()强转为PageContext,BodyTagSupport可以直接获取PageContext;

⑥ PageContext对象可以取得JSP页面的域对象,通过域对象可以实现标签处理类和JSP页面之间的传值;

⑦ BodyTagSupport的各个方法调用顺序如下:

 

 

2、.tld配置文件

实现标签处理类之后,要进行标签库的配置,配置文件放在WEB-INF文件下即可,格式之前文章介绍过,这里重点介绍两个节点

body-content节点

可选值有4个:

① tagDependent:这个之前文章一直没使用,这个标签的内容不被JSP容器解释(简单地可以认为是原样输出);

② empty:标签不能有内容;

③ JSP:支持JSP其它语法;

④ scriptLess:接受文本、EL和JSP动作,如果使用<%out.write("aaaa"); %>这一类代码就报错。

attribute节点

常用的有4个属性

① name:名称
② required:是否必填
③ rtexprvalue:前面在实现foreach标签的时候用过,全称是 Run-time Expression Value,顾名思义跟运行时有关,通过EL表达式动态注入的参数值,需要将这个值设置成true,否则报错。
④ type:属性类型

3、使用自定义标签

注意导入标签库即可

 

posted on   疯狂的妞妞  阅读(231)  评论(0编辑  收藏  举报

(评论功能已被禁用)
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示