前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java实现自定义标签的步骤——带你实现自己的标签

Java实现自定义标签的步骤——带你实现自己的标签

作者头像
用户1289394
发布2018-02-27 15:09:10
2.5K0
发布2018-02-27 15:09:10
举报
文章被收录于专栏:Java学习网Java学习网Java学习网

一、自定义标签: 使用标签的好处:使用方便、简洁、实现代码重用 二、自定义标签的形式: 1、标签属性: 2、标签体 (1)无标签体――空标签 (2)有标签体 · 普通文本 · 脚本片断 · 脚本表达式 · EL表达式 · 嵌套标签――子标签 标签体的类型:无默认值,必须指定 三、自定义标签的开发步骤: 1、编写java类――标签处理器 2、编写自定义标签描述文件tld文件 3、在web应用中部署和安装自定义标签库 4、在jsp页面中导入和使用自定义标签 四、用于开发自定义标签的接口和类:p204

API TagSupport执行流程 BodyTagSupport执行流程 实例: 1、写一个判断用户是否登录的标签类,要完成功能如下: (1)看session作用域是否存在user属性,如有,则取出用户名,并显示欢迎信息 (控制是否执行标签体的内容) (2)如果session作用域不存在user属性,则转向至login.jsp,让用户登录 (控制是否执行标签后的内容) 2、定义标签属性的实例:将上面的案例改为转向页面由用户自行指定 添加属性loginPage 添加标签属性的步骤: 3、把存储在request作用域里的List转换为下拉列表框的实例: 动态属性值――使用run time exception指定属性的值 需要在tld文件里指定attribute的属性 4、动态属性的运用实例:根据多个动态属性(数量预先不可知)生成下拉列表框的实例 (1)标签处理类必须实现DynamicAttributes接口 需要实现setDynamicAttribute方法 (2)在tld文件中配置 5、迭代标签输出集合中的元素:标签体是输出部分,所以要对标签体进行循环 标签类 tld文件 Jsp文件 6、修改标签体的实例:extends BodyTagSupport 标签体为www.itcast.cn 输出代码 <a href='http:// www.itcast.cn'>www.itcast.cn</a> 得到体对应的String 将修改后的体对应的String写入到jsp页面的JspWriter对象中 强化练习:将标签体中的文本改变字号输出多次 五、自定义标签的缓存机制 配置jsp引擎是否使用标签池技术,此配置在tomcat6下无效 六、jsp脚本变量的定义: 七、自定义标签的部署及使用: 1、tld文件在WEB-INF或其子目录中 (1)在web.xml文件中进行部署(此步可省略) (2)在jsp文件中可采用两种方式引入使用该自定义标签 方法一:指出uri 方法二:指出location 2、tld文件在包含标签处理类及其相关支持类的jar包的META-INF或其子目录中 只能使用指出uri的方式 如下是错误的 setPageContext() setParent() SKIP_BODY 返回值 返回值 设置各个属性的setters()方法 执行标签体 EVAL_BODY_INCLUDE EVAL_BODY_AGAIN EVAL_BODY_BUFFERED 写入bodyContent SKIP_BODY 返回值 doInitBody() EVAL_PAGE SKIP_PAGE 执行页面剩余部分 返回值 执行标签体 EVAL_BODY_INCLUDE EVAL_BODY_AGAIN 返回值 设置各个属性的setters()方法 setPageContext() setParent() SKIP_BODY 返回值 EVAL_PAGE doAfterBody() SKIP_BODY release() doEndTag() doStartTag() WEB容器实例化标签处理器类 doAfterBody() SKIP_BODY release() doEndTag() doStartTag() WEB容器实例化标签处理器类 执行页面剩余部分 返回值 SKIP_PAGE EVAL_BODY_AGAIN setBodyContent() doAfterBody()

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java学习网 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档