博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自己定义标签中tagsupport的一些方法
阅读量:5905 次
发布时间:2019-06-19

本文共 1036 字,大约阅读时间需要 3 分钟。

TagSupport生命周期

TagSupport类分别实现了Tag与IterationTag界面,其预设的回传值是:doStartTag()回传 SKIP_BODY、EVAL_BODY_INCLUDE

doAfterBodyTag()回传SKIP_BODY、EVAL_BODY_AGAIN

doEndTag()回传EVAL_PAGE。SKIP_PAGE

所以在继承 TagSupport之后,假设没有改写不论什么的方法,则在标签处理上运行的顺序是:

doStartTag() -> 不显示本体文字 -> doEndTag() -> 运行接下来的JSP网页

假设您改写了doStartTag(),则您必须指定回传值,假设指定了EVAL_BODY_INCLUDE,则预设会照下面的顺序运行:

doStartTag() -> 显示本体文字 -> doAfterBodyTag()->doEndTag()->运行接下来的JSP网页

简单的说,假设您继承了TagSupport并改写了当中的一些方法,则您必须指定方法合法的回传值,假设不改写,则会有其预设的回传值,
假设您在处理标签时,引用了一些资源,比如档案I/O或是资料库连结,则您能够改写release()方法,这种方法会在doEndTag()之后运行,您能够在处理完标签之后用它来释放先前所使用到的资源。

TagSupport类

TagSupport类实现了Tag接口,为我们提供了4个重要的方法。

  TagSupport类中的经常用法

方 法 名 称

描    述

int doStartTag()

遇到自己定义标签開始时调用该方法,

其可选返回值例如以下。

SKIP_BODY:表示不用处理标签体,

直接调用doEndTag()方法

EVAL_BODY_INCLUDE:正常运行

标签体,但不正确标签体做不论什么处理

int doAfterBody()

反复运行标签体内容的方法,

其可选返回值例如以下。

SKIP_BODY:表示不用处理标

签体,直接调用doEndTag()方法

EVAL_BODY_AGAIN:反复

运行标签体内容

方 法 名 称

描    述

int doEndTag()

遇到自己定义标签结束时调用该方法,

其可选返回值例如以下。

SKIP_PAGE:忽略标签后面的JSP

内容,中止JSP页面运行

EVAL_PAGE:处理标签后,继

续处理JSP后面的内容

void release()

释放获得的全部资源

 

转载地址:http://bvcpx.baihongyu.com/

你可能感兴趣的文章
angularjs-paste-upload
查看>>
linux基础命令 head
查看>>
objective c:import和include的区别, ""和<>区别
查看>>
The Shared folder with you
查看>>
sax方式解析XML学习笔记
查看>>
Springboot配置(上)
查看>>
java--Eclipse for mac 代码提示(代码助手,代码联想)快捷键修改
查看>>
left join on/right join on/inner join on/full join on连接
查看>>
template.helper 多参数
查看>>
Android 四大组件之一(Activity)
查看>>
扫描(一)
查看>>
Centos7安装rabbitmq server 3.6.0
查看>>
iostat命令学习
查看>>
html video的url更新,自动清缓存
查看>>
【11】ajax请求后台接口数据与返回值处理js写法
查看>>
Python菜鸟之路:Jquery Ajax的使用
查看>>
LeetCode算法题-Maximum Depth of Binary Tree
查看>>
Cox 教学视频5
查看>>
使用ffmpeg实现对h264视频解码 -- (实现了一个易于使用的c++封装库)
查看>>
Android Xutils 框架
查看>>