-
-
你庄哥哥
2016-12-25
- JSP自定义标签——SimpleTag接口详解
一、什么是标签处理器?就是标签处理类——java文件。
二、SimpleTag接口提供方法:在源码中可以看到SimpleTag接口有5个方法,
1、doTag()方法是核心方法,我们可以将所有的标签处理逻辑都写在这个方法中,这个方法会抛出一个JspException,然后我们可以通过这个异常通知WEB容器,不再执行此标签后面的内容。
2、setParent(JspTag),这个方法呢,由WEB容器所调用的,是将父标签处理器对象传递给标签处理器。
3、getParent()是获取当前标签的父标签对象,比如在标签嵌套时,可以用此方法得到当前标签的父标签。
4、setJSPContext(JspContext)这个方法也是由容器调用的,这个方法是将JSP页面中的pageContext对象传递给标签处理器对象。
5、setJspBody(JspFragment)这个方法也由web容器调用,意思是将代表当前标签体的JspFragment对象传递给标签处理器对象,这里的参数可以理解为标签体的内容。
注意:JSP引擎在处理简单标签的标签时,会将标签体中的内容封装到JspFragment这个参数中,并调用setJspBody(JspFragment)将该对象传递给标签处理器,我们就可以根据需求来控制是否输出标签体或者循环标签体。
三、来看下JspFragment的源码:它是一个抽象类,有一个invoke(Writer)这个方法。这个方法用于执行JspFragment对象所代表的代码段,也就是说,我们要在标签体中输出一段话,我们可以用invoke(Writer)这个方法中的参数是一个输出流,使用这个方法就可以将我们想要输出的数据输出到JSP页面中,getJspContext()这个方法用于返回代表JSP页面的JspContext对象。getJspBody()返回代表标签体的JspFragment对象。也就是标签体的内容。
-
截图
1赞 · 1采集
-
-
梦编猿
2016-08-11
- JSP自定义标签——SimpleTag接口详解
一、什么是标签处理器?就是标签处理类——java文件。
二、SimpleTag接口提供方法:在源码中可以看到SimpleTag接口有5个方法,
1、doTag()方法是核心方法,我们可以将所有的标签处理逻辑都写在这个方法中,这个方法会抛出一个JspException,然后我们可以通过这个异常通知WEB容器,不再执行此标签后面的内容。
2、setParent(JspTag),这个方法呢,由WEB容器所调用的,是将父标签处理器对象传递给标签处理器。
3、getParent()是获取当前标签的父标签对象,比如在标签嵌套时,可以用此方法得到当前标签的父标签。
4、setJSPContext(JspContext)这个方法也是由容器调用的,这个方法是将JSP页面中的pageContext对象传递给标签处理器对象。
5、setJspBody(JspFragment)这个方法也由web容器调用,意思是将代表当前标签体的JspFragment对象传递给标签处理器对象,这里的参数可以理解为标签体的内容。
注意:JSP引擎在处理简单标签的标签时,会将标签体中的内容封装到JspFragment这个参数中,并调用setJspBody(JspFragment)将该对象传递给标签处理器,我们就可以根据需求来控制是否输出标签体或者循环标签体。
三、来看下JspFragment的源码:它是一个抽象类,有一个invoke(Writer)这个方法。这个方法用于执行JspFragment对象所代表的代码段,也就是说,我们要在标签体中输出一段话,我们可以用invoke(Writer)这个方法中的参数是一个输出流,使用这个方法就可以将我们想要输出的数据输出到JSP页面中,getJspContext()这个方法用于返回代表JSP页面的JspContext对象。getJspBody()返回代表标签体的JspFragment对象。也就是标签体的内容。
【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
-
1赞 · 2采集
-
-
java家洼
2016-07-07
- 什么是标签处理器?就是标签处理类,java文件。
-
截图
0赞 · 0采集
-
-
java家洼
2016-07-07
- 为了开发方便,JSP规范为我们提供了SimpleTag接口的实现类,SimpleTagSupport那么我们在今后的自定义标签
开发中呢,可以直接继承SimpleTagSupport类就可以了,这个类除了对SimpleTag接口进行实现外,还增加了两个
方法。getJspContext()和getJspBody()
getJspContext()返回的是代表当前页面的JspContext对象,
getJspBody()返回代表标签体的JspFragment对象。也就是标签体的内容,
这节课对SimpleTag的方法进行了大概的了解,下节课会对这些方法的使用进行举例说明。
-
截图
0赞 · 0采集
-
-
java家洼
2016-07-07
- 经过前面的学习,发现实现自定义标签的过程有点复杂,那么多的接口和方法很容易让人头晕,为了
更为简单快捷的开发自定义标签,在JSP2.0的规范中,提供了SimpleTag接口
什么是标签处理器?就是标签处理类,java文件。
来看一下SimpleTag接口提供的一些方法
在源码中可以看到SimpleTag接口有5个方法
doTag()方法是核心方法,我们可以将所有的标签处理逻辑都写在这个方法中,这个方法
会抛出一个JspException,然后我们可以通过这个异常通知WEB容器,不再执行此标签后面的内容。
setParent(JspTag),这个方法呢,由WEB容器所调用的,是将父标签处理器对象传递给标签处理器,
getParent()是获取当前标签的父标签对象,比如在标签嵌套时,可以用此方法得到当前标签的父标签,
setJSPContext(JspContext)这个方法也是由容器调用的,这个方法是将JSP页面中的pageContext对象
传递给标签处理器对象
setJspBody(JspFragment)这个方法也由web容器调用,意思是将代表当前标签体的JspFragment对象
传递给标签处理器对象,这里的参数可以理解为标签体的内容
JSP引擎在处理简单标签的标签时,会将标签体中的内容封装到JspFragment这个参数中,并
调用setJspBody(JspFragment)将该对象传递给标签处理器,我们就可以根据需求来控制是否输出标签体
或者循环标签体
来看下JspFragment的源码:它是一个抽象类,有一个invoke(Writer)这个方法。这个方法用于执行
JspFragment对象所代表的代码段,也就是说,我们要在标签体中输出一段话,我们可以用invoke(Writer)
这个方法中的参数是一个输出流,使用这个方法就可以将我们想要输出的数据输出到JSP页面中,
getJspContext()这个方法用于返回代表JSP页面的JspContext对象,
-
截图
0赞 · 0采集