Python语言技术文档

微信小程序技术文档

php语言技术文档

jsp语言技术文档

asp语言技术文档

C#/.NET语言技术文档

html5/css技术文档

javascript

点击排行

您现在的位置:首页 > 技术文档 > jsp入门教程

jsp实例教程:JSP_自定义标签使用实例介绍

来源:中文源码网    浏览:200 次    日期:2024-05-18 15:28:48
【下载文档:  jsp实例教程:JSP_自定义标签使用实例介绍.txt 】


基于JSP 自定义标签使用实例介绍
添加JSP自定义标签:
先添加一个tld文件到WEB-INF文件夹中myTagJSTL core1.0cnwebhttp://www.cnweb.cn
MyTagwhencn.example.whenscriptlesstesttruetrue
引用规则:<%@ taglib uri="http://www.cnweb.cn" prefix="cnweb"%>
定义错误处理页面:
java.lang.Exception/errors/error.jsp404/errors/error1.jsp
自定义标签执行流程:
SimpleTagSupport
/* Jsp引擎遇到简单类,实例化该类;* 调用setJspContext,把页面pageContext传递给标签处理类;* 调用setParent把父标传递进去,如果没有,传递null* 调用setJspBody方法,把封装了标签体JspFragment传递给标签处理器类* 执行页面中的自定义标签,doTag()方法;-->执行完成,销毁对象*/
JspFragment jf = this.getJspBody();jf.invoke(this.getJspContext().getOut());//如果不显示则不进行处理
--------------------------------------------------------------------
public class tagShowOrNot extends TagSupport {public int doStartTag() throws JspException {return Tag.EVAL_BODY_INCLUDE;//显示body//return Tag.SKIP_BODY;//隐藏body//Tag.EVAL_PAGE;//显示page//Tag.SKIP_PAGE;//隐藏page}}
TagSupport/*编写一个实现TagSupport的类;*在tld文件中对标签处理器类进行描述(tld文件的位置:WEB-INF下)*在jsp页面中导入和使用标签**jsp执行过程中遇到自定义标签时,先实例化该类;*然后执行方法:setPageContext()-->setParent()-->doStartTag()*如果有标签体,一般会执行标签体;doEndTag()-->整个标签执行完后一般会执行:release()**控制整个jsp页面是否执行;*控制jsp页面某一部分内容是否执行;*控制jsp页面内容重复执行;*修改jsp页面内容输出;*/
//该方法在执行标签体后,执行doEndTag()方法之前执行,直到该方法返回IterationTag.SKIP_BODY;public int doAfterBody() throws JspException {time--;System.out.println("重复" + time);if (time > 0) {return IterationTag.EVAL_BODY_AGAIN;} elsereturn IterationTag.SKIP_BODY;}

相关内容