自定义标签主要用于移出JSP页面中的Java代码。
移出JSP页面中的Java代码,主要要完成两个步骤:
1、编写一个实现Tag接口的Java类,并覆盖doStartTag,把jsp页面中的Java代码写到doStartTag方法中。
2、编写标签库描述符(tld)文件,在tld文件中对自定义标签进行描述。
3、完成以上操作,即可在JSP页面中导入和使用自定义标签。查看tag接口API文档,分析自定义标签的执行流程:
JSP引擎将遇到自定义标签时,首先创建标签处理器类的实例化对象,然后按照JSP规则定义的通信规则依次调用它的方法。
1、JSP引擎实例化处理器后,将调用setPageContext()方法将JSP页面的pageContext对象穿递给标签。
2、依次调用setParent(),doStartTag(),doEndTag(),通常还会调用release();
自定义标签还可用于完成一些页面逻辑:
1、 Jsp页面某部分内容是否执行。
2、 标签后的Jsp页面是否执行
3、Jsp页面某部分内容重复执行
4、修改Jsp页面内容输出
实现SimpleTag接口的标签通常称为简单标签。共定义5个方法:
setJspContext():用于把JSP页面的PageContext对象传递给标签处理器对象
setParent():用于把父标签处理器对象传递给当前标签处理器对象,
getParent():用于获取当前标签的父标签处理器对象,
setJspBody():用于把代表标签体的Jsp,
doTag():用于完成所有的标签逻辑,包括输出、迭代、修改标签体内容等。在doTage()中可以抛出javax.Servlet.jsp.SkipPageExcpetion异常,
用于通知WEB容器不再执行JSP页面中位于结束标记后面的内面,等效于在传统标签的doEndTag()中返回Tag.SKIP_PAGE常量的情况。
JspFragment类
WEB容器在处理简单标签的标签体式,会把标签容器用一个JspFragment对象表示,并调用标签处理对象的setJspBody()把JspFragment对象传递给标签处理器对象。
getJspContext():用于返回代表调用页面的JspContext对象
public abstract void invoke(java.io.Writer out):
1、用于执行JspFragment对象所代表的JSP代码片段
2、参数out用于指定将JSpFragment对象执行结果写入到那个输出流对象中,如果传递非参数out的值为null,则将执行结果写入到JspContext.getOut()返回的输出流对象中。
分享到:
相关推荐
day06_struts自定义标签1
java自定义标签java自定义标签java自定义标签java自定义标签java自定义标签java自定义标签
介绍了mybatis自定义标签,添加自定义标签的实现代码,通过实例代码展示给大家
JSP自定义标签JSP自定义标签JSP自定义标签JSP自定义标签JSP自定义标签JSP自定义标签
本人自行研究JSP自定义标签的学习笔记 目录如下: 目录 一、概述 1 1.1 使用简单标签机制 2 1.2 使用标签文件 3 二 、自定义标签简介 3 2.1 自定义标签概念 3 2.2 标签相关概念 3 2.3 如何创建自定义标签 3 三、自...
JSP标签创建一个简单的自定义标签第一步,创建一个标签处理器类:实现SimpleTag接口XxxSimpleTag,方法实现,先不写内容第二步,在WEB-IF文
JSP自定义标签是用户定义的JSP语言元素,可以看成是一种通过标签处理器生成基于XML脚本的方法。自定义标签在功能上和逻辑上都与JavaBean类似,都是一组可重用的组件代码。相较于JavaBean,自定义标签可以使Web开发者...
jsp 自定义标签 一个简单的自定义标签实现
自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签...
java自定义标签java自定义标签java自定义标签java自定义标签java自定义标签java自定义标签java自定义标签java自定义标签
用js实现自定义标签,用js实现自定义标签,用js实现自定义标签
通过struts2 自定义标签实例,可以用这个对项目中的实现自定义标签。从而减少代码。
struts实现自定义标签
JSP自定义标签。在自定义标签的起始和结束标签之间的部分为标签体(Body)。 标签处理程序类:定义标签的行为,并在JSP引擎遇到自定义标签时调用执行。 标签库描述符(TLD)文件:描述标签库的XML文档,向JSP引擎...
里面有thinkphp自定义标签的方法和使用文档
jsp自定义标签jsp自定义标签jsp自定义标签