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、使用自定义标签
注意导入标签库即可
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· 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