第4章 关于JSP.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 关于JSP

4.4.3 自定义标签 JSP除了标准的JSP标签以外,其还允许用户定义自己的标签,通过自定义标签来封装用户自己特定的动作和行为,从而扩展标签的功能。自定义标签的使用方法和JSP的标准标签一样,但其定义和运行需要完成如下几方面的定义: ⑴标签处理类(Tag Handle Class) 标签处理类是一个Java类,这个类继承了TagSupport或者扩展了SimpleTag接口,通过这个类可以实现自定义JSP标签的具体功能。 ⑵标签库描述文件(Tag Library Descriptor) 标签库描述(TLD)文件是一个XML文件,提供了标签库中类和JSP中对标签引用的映射关系。JSP容器在遇到标签库中的自定义标签时需要使用该文件找到对应的标签处理器类,来决定如何处理。 ⑶web.xml文件中对标签库的描述 web.xml文件中使用taglib标记及其子标记taglib-uri和taglib-location来实现对描述文件的定位和描述。 ⑷在JSP页面中使用自定义标签 在JSP页面中使用taglib指令声明自定义标记: %@taglib uri=”taglibURI” prefix=”tagPrefix”@% uri是用户自定义标签库描述文件的URL地址,prefix是标签库描述文件的前缀。 应用举例: 1.标签处理类的定义 标签处理类就是一个java类,只是需要继承TagSupport类或扩展SimpleTag接口。 TagTest.java 说明: doStartTag():自定义标签开始时调用,返回在标签接口中定义的int常量。doStartTag()方法覆盖了TagSupport类中的此方法,会抛出JspTagException异常。 doEndTag():自定义标签结束时调用,返回在标签接口中定义的int常量。 完成类的编写后编译生成TagTest.class。 2.标签库描述文件的定义 编写标签库描述文件tagLib.tld,它是一个XML文档。 说明: tlibversion为标签库的版本号,不能忽略。 jspversion为JSP规范的版本号,缺省为1.1。 shortname为标签库命名空间前缀,一般与taglib指令中的prefix属性值一致。该项不能忽略。 info为标签库的描述信息。 在一个标签库描述文件中可以出现任意多个tag/tag标签,用于声明自定义的标签。 name为标签名称,即标签后缀。 tagclass为自定义标签类。 bodycontent表示用户自定义标签是否包含体内容。值为JSP表示Servlet容器对体内容求值。 tag标签中的name和tagclass子标签不能省略。 3.web.xml文件的描述 在web.xml文件中需要配置对标签库描述文件的描述和定位。在web.xml配置文件中增加如下语句: taglib taglib-uri/TagTest/taglib-uri taglib-location/WEB-INF/tlds/tagLib.tld/taglib-location /taglib 说明: taglib标签用于说明标签库描述文件的所在位置和相关uri。 taglib-uri子标签中定义的内容要与jsp文件中%@taglib uri=”taglibURI” prefix=”tagPrefix”@%的uri属性值相一致。 taglib-location子标签指出标签库描述文件的所在位置。 4.JSP文件的编写 在完成以上自定义标签的设定后,就可以编写JSP文件来使用自定义标签: TaglibTest.jsp TagLib示例运行结果 习题 1.JSP有哪些内置对象?作用分别是什么??? 2.JSP有哪些动作?作用分别是什么? 3.JSP中动态INCLUDE与静态INCLUDE的区别? 4.简述JSP的执行过程。 5.jsp:forward与response.sendRedirect()实现页面转向有什么区别? 2.运算符 类型 运算符号 算术型 +、-(二元)、*、/、div、%、mod、-(一元) 逻辑型 and、、or、||、!、not 关系型 ==、eq、!=、ne、、gt、=、le、=、ge。可以与其他值进行比较,或与布尔型、字符串型、整型或浮点型文字进行比较。 空 空操作符是前缀操作,可用于确定值是否为空。 条件型 A ?B :C。根据 A 赋值的结果来赋值 B 或 C。 3.隐含对象 对象 说明 pageContext JSP 页的上下文。它可以用于访问 JSP 隐式对象。 param 将请求参数名称映射到单个字符串参数值。表达式 $(param . n

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档