- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章 自定义JSP标签 自定义JSP标签实例分析 自定义JSP标签相关的API 标签描述文件 JSP遇到的相关问题 小结 9.1 自定义JSP标签实例 标签处理类是标签库的核心,一个标签处理器可以引用它需要的任何资源(自己定义的JavaBeans)和访问JSP页面的全部信息(pageContext对象)。 JSP页面也会将所有已经被设置的标签属性和JSP页面上的标签体中的内容传送给标签处理器。 9.2 自定义JSP标签相关API BodyTagSupport 类 SimpleTagSupport 类 标签处理中处理异常 9.2.1 BodyTagSupport类 处理标签的方法 。BodyTagSupport 提供了doStartTag() 和 doEndTag() 方法以对标签进行处理。JSP容器在解析JSP页面时,如碰到自定义标签的起始标志,就会调用 doStartTag()方法。 处理标签体的方法。BodyTagSupport 提供了doInitBody() 和 doAfterBody() 方法以对标签体进行处理。doInitBody() 方法主要在标签体的内容被设置但未被求值之前调用。 9.2.2 SimpleTagSupport类 为了支持需要实现SimpleTag接口的标记处理器的编写,javax.servlet.jsp.tagext包提供了一个名为SimpleTagSupport的支持类。 如果开发要扩展这个类,则只需提供一个执行方法:doTag,其他的方法都提供了默认的实现。 9.2.3 标签处理中处理异常 标记处理程序必须能够对发生的异常情况作出反应,例如,如果某个标记属性设置成非法值,标记处理程序应该选择引发异常。 标记处理程序可以以JspExceptions的形式引发异常。通过显示与标记驻留的页面相关的错误页面,可处理这些异常。 9.3 标签描述文件 taglib 标签库元素 tag 标签元素 attribute 元素 在Web应用中使用自定义标签 打包自定义标签库 9.3.1 taglib标签库元素 标签库元素taglib设定标签库的相关信息,一个TLD文件中只有一个taglib元素,是文件的根元素 。 标签库元素taglib需要设置的属性及描述见表9.3 9.3.2 tag标签元素 tag标签元素的每一属性定义中都包含说明该属性是否是必须的、属性的值是否可以通过请求时表达式来决定和属性的类型等信息。 标签元素tag需要设置的属性及描述见表9.4 9.3.3 attribute元素 attribute元素是属性元素,对于每一个标签的属性,必须指定该属性是否为必需的、该标签的值是否可以通过请求时表达式确定和属性类型等。 attribute元素的基本定义格式和可选默认值如下: attribute name属性名/name requiredtrue|false|yes|no/required rtexprvaluetrue|false|yes|no/rtexprvalue typefully_qualified_type/type attribute 9.3.4 在Web应用中使用自定义标签 在Web应用中使用自定义标签 ,首先将TLD文件存放在Web应用的/WEB-INF/目录或者其子目录下,然后在Web应用的web.xml文件,在其中增加如下代码: taglib !标签库名 taglib-uri cn.ac.ict.html.tags /taglib-uri !标签库TLD文件的位置 taglib-location/WEB-INF/jsp/mytaglib.tld/taglib-location /taglib 在JSP页面中使用自定义标签,首先必须在JSP文件中声明使用的标签库, 其声明如下: %@ taglib uri=cn.ac.ict.html.tags prefix=htmlUtil % 9.3.5 打包自定义标签库 把自定义标签库打包为JAR文件的步骤: 在某个目录下打包定义标签库时,首先要把需要的标签处理类复制到该目录下,此处注意类存放的目录层次应和包名一致。 然后,在这个目录下运行如下命令jar cvf html_util.jar *.*,然后把产生的JAR文件复制到WEB-INF\lib目录下。 9.4 相关问题 为什么把打包后的标签库复制到WEB-INF\lib目录下会出现错误,而之前却不会出现错误? 在使用自定义标签时,提示XML文件解析的错误怎么解决? No tag defined in tag library错误该怎样处理
文档评论(0)