版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JSP自定义标记1自定义标记JSP自定义标记可以看成是对JSP标准动作标记的一种扩展。自定义标记是用户定义的以XML形式表示的JSP语言元素。2自定义标记当一个包含自定义标记的JSP页面被转化为Servlet时,Web容器自动调用自定义标记对应的标记处理程序来处理JSP页面。3自定义标记通过自定义标记,将一些重复性的、与特定应用相关的业务逻辑以文档化标记的形式进行调用,维护JSP以文档为中心的开发方式,最大程度地降低JSP页面的代码含量,提高JSP页面可维护性。4自定义标记的表示和分类(1)标记名称。标记名称由两部分组成:前缀,用来区分不同标记库,不同的标记库具有不同的前缀;后缀,用来区分统一
2、标记库中的不同标记。前缀和后缀之间以冒号隔开。5(2)属性。通过属性来动态控制标记的行为。6(3)体内容:在标记的开始元素与结束元素之间的内容称为体内容。7根据对体内容的不同行为,可以将自定义标记分为两种类型:(1)简单标记。不对体内容进行处理的标记。它必须继承接口javax.Servlet.jsp.tagext. TagSupport。(2)处理体内容的标记。对体内容(即对在开始和结束标记之间的内容)进行操作的标记,它必须继承接口javax.Servlet.jsp.tagext.BodyTagSupport。注意:简单标记仍然可以有体内容,只不过它的标记处理程序不能读取体内容。 8自定义标记
3、库的优点 易于安装在多个项目上。良好的扩展性。容易维护。快速的开发时间9自定义标记库组成1. 标记处理器(实现自定义标签的Java类文件)2. 标记库描述符(TLD文件)3.应用标记的JSP页面101. 标记处理器创建自定义标记之前,需创建标记处理程序。 标记处理程序:一个执行自定义标记操作的java对象。112、标记库描述符(TLD文件)标记库描述符是一个简单的xml文件,记录标记处理器的属性、信息和位置等信息。Web容器通过标记库描述符来得知从哪里及如何调用一个标记库。标记库描述符文件必须以.tld为后缀,保存在WEB-INF目录中或它的子目录中。123、应用标记的JSP页面使用自定义标记
4、时,导入标记库(一组标记/标记处理程序对的集合),通过在web部署描述符中声明标记库导入。 使用指令taglib将标记库导入到jsp页面中。uri:引用唯一识别的TLD。prefix: 定义区分不同标记库中标记的方法,避免不同标记库中标记重名引起的冲突。13开发自定义标记的步骤(1)编写标记处理器。(2)编写自定义标记库的描述文件TLD(实际是一个XML文件)。(3)编写应用标记的JSP页面。上述三个步骤之间没有顺序限制。14(1)编写标记处理器。简单标记的标记处理器必须继承javax.Servlet.jsp.tagext. TagSupport接口方法作用int doStartTag( )
5、throws JSPException处理开始标记int doEndTag( ) throws JSPException处理结束标记Tag getParent()/ void setParent(Tag t)获得/设置标记的父标记void release( )释放获得所有资源15(2)编写自定义标记库的描述文件TLDTLD文件列出了从标记名到标记处理程序的映射。大多数据在JSP页转换时使用。TLD文件通常保存在WEB-INF目录中,并在web.xml中声明。TLD文件的根元素是taglib。taglib描述一个标记库,即一组标记/标记处理程序对。16标记描述文件中标记的意义属性意义tlib-v
6、ersion标记库版本jsp-versionJSP版本short-name 标记库名称缩写,可选uri标记库文件URIdisplay-name标记库显示名称,可选small-icon显示小图标,可选large-icon显示大图标,可选discription描述信息,可选listener监听器tag标记描述17属性名称描述name标记唯一名称tag-class标记处理程序类名body-content内容类型display-name可选的标记库显示名称attribute标记属性信息taglib元素包含许多tag元素,标记库中每个标记都有一个tag元素,tag元素用于将自定义标记映射到它们的自定义标
7、记处理程序。 标记的信息18(3)编写应用标记的JSP页面。 在jsp页面使用自定义标记,应用jsp的taglib标记指定其标记库(注意:taglib在使用此tag标记之前声明)。说明:uri:引用唯一识别的TLD。prefix: 定义区分不同标记库中标记的方法,避免不同标记库中标记重名引起的冲突。(由于prefix区分不同标记库的,属性值可随意赋值)19简单标记的处理过程 (1)Web容器设置标记处理器的pageContext属性来初始化标记处理器。 JspWriter output=pageContext.getOut();(2)简单标记处理器必须实现doStartTag()和doEndT
8、ag()两个标记接口的方法。Web容器调用标记处理器的doStartTag()方法。方法返回SKIP_BODY,引导Web容器忽略体内容;返回EVAL_BODY_INCLUDE, Web容器分析体内容及其包含的子标记。20(3)Web容器调用标记处理器的doEndTag()方法。方法返回SKIP_PAGE,引导Web容器忽略页面其他内容;返回EVAL_PAGE,Web容器分析页面其他内容。(4)Web容器调用标记处理器的release()方法释放标记处理执行期间使用的资源,重置标记处理器的属性状态等。21程序:HelloTag.java22建立带属性的标记自定义标记可以有自己的属性。自定义标记
9、通过属性来动态接收页面传递来的信息。属性一般在开始标记中定义,语法为 : 属性的作用相当于自定义一个参数,它影响着标记处理器的行为。23步骤编写标记处理程序对于自定义标记的每个属性,必须在标记处理器中定义一个属性及属性相对应的getXxx/setXxx(读写)操作方法。属性操作方法必须为public类型,因为web容器在遇到自定义标记的属性时会自动调用标记处理程序中相应的读写操作方法进行属性值的传递。24TLD 自定义标记的属性必须在TLD文件中说明定义,以便web容器对jsp页面进行解析。25在标记描述TLD文件中用参数来定义一个标记属性。name 定义标记属性的名称。required 定义
10、这个属性是否为必须存在,true代表为必须。rtexprvalue 定义属性值是否可以使用JSP表达式true或者yes表示允许。type 代表标记属性的类型。对于静态类型数值通常为java.lang.String。如果元素rtexprvalue是true或者是yes,元素类型决定了返回值类型。26编写调用标记的Jsp页面说明:uri属性引用唯一标识的标记库描述符(TLD); prefix属性定义区分不同标记库中标记方法,避免不同标记库中标记重名引起冲突。27程序:AttributeHelloTag.java28处理体内容的过程1、Web容器调用标记处理器的doStartTag()方法,方法返回SKIP_BODY,引导Web容器忽略体内容;返回EVAL_BODY_INCLUDE,表示Web容器分析体内容及其包含的子标记。29处理体内容的过程2、Web容器调用标记处理器的doAfterBody()方法,方法返回SKIP_BODY,引导Web容器忽略体内容;返回EVAL_BODY_TAG,表示Web容器分析体内容及其包含的子标记。30取得标签体对象 BodyContent bod
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 实验室建设与职业病危害因素控制考核试卷
- 新高考历史三轮冲刺过关练习专题16 综合冲刺专练(16+3模式)(解析版)
- DB11∕T 1777-2020 人民防空工程维护技术规程
- 认识左右课件教学课件
- 《木兰诗》培训课件
- 人教版四年级下册语文表格教案第二单元
- 淮阴工学院《工程施工1》2022-2023学年第一学期期末试卷
- 沼气冰箱相关行业投资规划报告范本
- 2024年城市更新土方工程合同
- 2024年基金合伙权益委托代持具体条款
- 虫害分析分析报告
- 《民间文学导论》课件
- 《输血查对制度》课件
- 湘少版五年级下册英语全期教案
- 高速公路收费站常见特情处理办法课件
- 《行政许可法培训》课件
- 颅内占位性的病变护理查房课件
- 山东省烟台市芝罘区(五四制)2023-2024学年九年级上学期期末考试物理试题
- DB14∕T 1851-2019 中华鼢鼠防治技术规程
- 2024年风电铸件行业市场研究报告
- 中耳胆脂瘤的护理查房
评论
0/150
提交评论