首页后端开发其他后端知识jsp 定制标签(Custom Tag)

jsp 定制标签(Custom Tag)

时间2024-02-08 01:54:03发布访客分类其他后端知识浏览465
导读:收集整理的这篇文章主要介绍了jsp 定制标签(Custom Tag ,觉得挺不错的,现在分享给大家,也给大家做个参考。 怎样自己定制标签(Custom Tag (整理的学习笔记 步骤...
收集整理的这篇文章主要介绍了jsp 定制标签(Custom Tag),觉得挺不错的,现在分享给大家,也给大家做个参考。 怎样自己定制标签(Custom Tag)
(整理的学习笔记)
步骤1、创建一个Tag handler class(标记处理器类)
package javax.servlet.jsp.tagext
开发空Body的标签处理器类-----> 1)implements Tag 2)extends TagSupport
空Body的标签处理器类需要覆盖方法:
DOStartTag()
返回值:Tag.SKIP_BODY
doEndTag()
返回值:
1)Tag.EVAL_PAGE:让标签下面的内容继续执行
2)Tag.SKIP_PAGE:让标签下面的内容不执行
开发带Body的标签处理器类-----> 1)implements BodyTag 2)extends BodyTagSupport
带Body的标签处理器类需要覆盖方法
doStartTag()
返回值:
BodyTag.SKIP_BODY:执行后直接调用doEndTag()方法
BodyTag.EVAL_BODY_INCLUDE:执行后直接调用doAfterBody()方法
BodyTag.EVAL_BODY_BUFFEred:
doEndTag()
返回值:
BodyTag.EVAL_PAGE:标签下面的内容继续执行
BodyTag.SKIP_PAGE:标签下面的内容不执行
doAfterBody()
返回值:
BodyTag.SKIP_BODY:执行后调用doEngTag()方法
BodyTag.EVAL_BODY_AGaiN:执行后调用doAfterBody()方法
步骤2、创建一个tld文件(tag library descriptor)
一个XML格式的文件,用于对标记进行描述
通常放在WEB-iNF目录下 (/WEB-INF/*.tld)
abc.tld
?xML version="1.0" encoding="UTF-8" ?>
!DOCTYPE taglib
PubLIC "-//Sun MicroSystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.COM/dtd/web-jsptaglibrary_1_2.dtd">
!-- template test -->
taglib>
tlib-version> 1.0/tlib-version>
jsp-version> 1.2/jsp-version>
short-name> tagSample/short-name>
uri> /tagSample/uri>
description> A blank tag library template./description>
tag>
name> welcome/name>
tag-class> tagapp.HelloTag/tag-class>
body-content> empty/body-content>
display-name> my First tag/display-name>
small-icon> /small-icon>
large-icon> /large-icon>
description> /description>
attribute>
name> name/name>
required> true/required>
rtexPRvalue> true/rtexprvalue>
type> java.lang.String/type>
/attribute>
/tag>
/taglib>
步骤3.创建一个JSP文件
%@taglib uri="[tld_url]" prefix=""%>
%@taglib uri="/WEB-INF/abc.tld" prefix="mike"%>
...
mike:welcome name=""/>
uri的值可以是:
A、/WEB-INF/mytag.tld -----> uri="/WEB-INF/mytag.tld"
B、tld文件中 uri> /tagSample/uri> ------> uri="/tagSample"
C、利用web.xml文件映射tld文件与taglib-uri的值 -----> uri="/abc"
taglib>
taglib-uri> /abc/taglib-uri>
taglib-location> /WEB-INF/mytag.tld/taglib-location>
/taglib>
带Body的标签处理器类的方法的注释:
doStartTag()
return value: SKIP_BODY 空BODY标记
EVAL_BODY_INCLUDE 带BODY标记,执行流程进入doAfterBody
EVAL_BODY_BUFFERED 带BODY标记,执行流程进入setBodyContent
doEndTag()
return value: SKIP_PAGE 忽略标记后剩余的JSP内容
EVAL_PAGE 继续执行标记后剩余的JSP内容
doAfterBody()
return value: SKIP_BODY 结束doAfterBody()方法,流程进入doEndTag()
EVAL_BODY_AGAIN 继续执行doAfterBody()方法
SimpleTagSupport
较好的练习题:
一、
1、模仿jstl标签库开发下列标签:
1)SQL:setDataSource>
属性有:
driver:必须的,可以用表达式
url;必须的,可以用表达式
user:必须的,可以用表达式
password:必须的,可以用表达式
2)sql:query>
属性有:
dataSource:必须的,可以用表达式
sql:必须的,可以用表达式
3)sql:update>
属性有:
dataSource:必须的,可以用表达式
sql:必须的,可以用表达式
2、开发类似于c:foreach> 的标签,可以遍历一个集合对象(可选,如不能完成,可直接利用jstl的标签来完成) 您可能感兴趣的文章:
  • JSP自定义分页标签TAG全过程
  • JSP自定义标签Taglib实现过程重点总结
  • JS 创建对象(常见的几种方法)
  • JavaScript 三种创建对象的方法
  • Js动态创建div
  • js实现创建删除html元素小结
  • js 用CreateElement动态创建标签示例
  • javascript转换字符串为dom对象(字符串动态创建dom)
  • JS动态创建DOM元素的方法
  • JS中动态创建元素的三种方法总结(推荐)
  • 浅析JS动态创建元素【两种方法】
  • JS创建Tag标签的方法详解

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: jsp 定制标签(Custom Tag)
本文地址: https://pptw.com/jishu/604846.html
hibernate中的增删改查实现代码 关于JSP的一点疑问小结

游客 回复需填写必要信息