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 2017-06-20 20:59  疯狂的妞妞  阅读(228)  评论(0编辑  收藏  举报

导航