欢迎来到天天文库
浏览记录
ID:52065590
大小:211.50 KB
页数:40页
时间:2020-03-31
《《JSP自定义标记》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章JSP自定义标记本章主要内容自定义标记的定义和分类自定义标记库的组成属性自定义标记处理体内容的自定义标记引入脚本变量的自定义标记嵌套自定义标记自定义标记库的发布自定义标记的定义和分类自定义标记库的组成属性自定义标记处理体内容的自定义标记引入脚本变量的自定义标记嵌套自定义标记自定义标记库的发布JSP自定义标记可以看成是对JSP标准动作标记的一种扩展。自定义标记是用户定义的以XML形式表示的JSP语言元素。当一个包含自定义标记的JSP页面被转化为Servlet时,Web容器自动调用自定义标记对应的标记处理程序来处理JSP页面。通过自定义标记,将一些重复性的、与特定应用相关的业务逻辑以文档
2、化标记的形式进行调用,维护JSP以文档为中心的开发方式,最大程度地降低JSP页面的代码含量,提高JSP页面可维护性。自定义标记由下面几部分组成(1)标记名称。标记名称由两部分组成:前缀,用来区分不同标记库,不同的标记库具有不同的前缀;后缀,用来区分统一标记库中的不同标记。前缀和后缀之间以冒号隔开。如自定义标记表示使用的是mytag标记库中的hello标记。(2)属性。就像XML文件中的标记一样,自定义标记可以有属性,可以通过属性来动态控制标记的行为。如标记表示自定义标记hello带有一个name属性。(3)体内容:在
3、标记的开始元素与结束元素之间的内容称为体内容。如自定义标记welcome的体内容为welcome。根据对体内容的不同行为,可以将自定义标记分为两种类型:(1)处理体内容的标记。对体内容(即对在开始和结束标记之间的内容)进行操作的标记,它必须继承接口javax.Servlet.jsp.tagext.BodyTag。(2)简单标记。不对体内容进行处理的标记。它必须继承接口javax.Servlet.jsp.tagext.Tag。注意:简单标记仍然可以有体内容,只不过它的标记处理程序不能读取体内容。简单标记的处理过程(1
4、)Web容器设置标记处理器的pageContext属性来初始化标记处理器。(2)Web容器设置标记处理器的parent属性(如果标记不被其他标记包含,则该属性为null)。(3)设置标记开发定义的标记参数,它是一个从XML标记属性到相应标记处理器bean的属性的映射过程。如被调用的标记为,则Web容器调用标记处理器的setName()方法。(4)Web容器调用标记处理器的doStartTag()方法。方法返回SKIP_BODY,引导Web容器忽略体内容;返回EVAL_BODY_INCLUDE,Web容器分析体内容及其包含的子标记。(5)Web
5、容器调用标记处理器的doEndTag()方法。方法返回SKIP_PAGE,引导Web容器忽略页面其他内容;返回EVAL_PAGE,Web容器分析页面其他内容。(6)Web容器调用标记处理器的release()方法,释放标记处理执行期间使用的资源,重置标记处理器的属性状态等。体标记的处理过程(1)Web容器设置标记处理器的pageContext属性来初始化标记处理器。标记处理器使用这个属性访问使用该标记的JSP页面信息。(2)Web容器设置标记处理器的parent属性(如果标记不被其他标记包含,则该属性为null)。(3)设置标记开发定义的标记参数,它是一个从XML标记属性到相应标记处理器b
6、ean的属性的映射过程。如被调用的标记为,则Web容器调用标记处理器的setName()方法。(4)Web容器调用标记处理器的doStartTag()方法。方法返回SKIP_BODY,引导Web容器忽略体内容;返回EVAL_BODY_INCLUDE,Web容器分析体内容及其包含的子标记。(5)调用SetBodyContent()方法。(6)调用doInitBody()方法。方法返回SKIP_BODY,引导Web容器忽略体内容;返回EVAL_BODY_Tag,Web容器分析体内容及其包含的子标记。(7)调用doAfterBody()方法。方法返
7、回SKIP_BODY,引导Web容器忽略体内容;返回EVAL_BODY_Tag,Web容器分析体内容及其包含的子标记。(8)Web容器调用标记处理器的doEndTag()方法。方法返回SKIP_PAGE,引导Web容器忽略页面其他内容;返回EVAL_PAGE,Web容器分析页面其他内容。(9)Web容器调用标记处理器的release()方法,释放标记处理执行期间使用的资源,重置标记处理器的属性状态等。自定义标记库有以下优
此文档下载收益归作者所有