自定义标签的执行过程和自定义标签处理器类的生命周期

问题:自定义标签的执行过程?

 http://localhost:8080/day14/definedLables.jsp  如何访问到自定义标签?

 

前提: tomcat服务器启动时,加载到每个web应用,加载每个web应用的WEB-INF目录下的所有文件!!!例如。web.xml, tld文件!!!

1)访问definedLables.jsp资源

2tomcat服务器把jsp文件翻译成java源文件->编译class->构造类对象->调用_jspService()方法

3)检查jsp文件的taglib指令,是否存在一个名为www.mylables.showiptld文件。如果没有,则报错

4)上一步已经读到iplable.tld文件

5)读到<show:showIp> iplable.tld文件中查询是否存在<name>showip<tag>标签

6)找到对应的<tag>标签,则读到<tag-class>内容

7)得到 defineLables.showIpClass文件。

构造ShowIpTag对象,然后调用ShowIpTag里面的方法

 

问题: 自定义标签处理器类的生命周期

实现SimpleTag接口才能成为自定义标签处理器类

void setJspContext(JspContext pc)  --设置pageContext对象,传入pageContext(一定调用) 通过getJspCotext()方法得到pageContext对象

void setParent(JspTag parent)--设置父标签对象,传入父标签对象,如果没有父标签, 则不调用此方法。通过getParent()方法得到父标签对象。

void     setXXX()             --设置属性值。

void setJspBody(JspFragment jspBody)

--设置标签体内容。标签体内容封装到JspFragment对象中,然后传入JspFragment对象。通过getJspBody()方法得到标签体内容。如果没有标签体内容,则不会调用此方法

void doTag()              --执行标签时调用的方法。(一定调用)

猜你喜欢

转载自blog.csdn.net/newVenues/article/details/70787791
今日推荐