自定义标签学习记录
来源:互联网 发布:拜见女皇陛下 知乎 编辑:程序博客网 时间:2024/06/03 22:43
1、编写一个tld文件 文件内容如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib xmlns="http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"> //固定文件头
<tlibversion>1.0</tlibversion> //标签库的版本
<jspversion>1.1</jspversion> //这个标签库要求的JSP规范版本
<shortname>test</shortname> //JSP页面编写工具可以用来创建助记名的可选名字
<uri>http://ep.jsp.tags/tags-1.0</uri> //唯一标识该标签库的的URI
<info>my test tag</info> //相关信息
<tag>
<name>csajsp</name> //标签名称
<tagclass>testTag</tagclass> //标签handler类的完全限定名
<bodycontent>jsp</bodycontent> //没有正文的标签必须用body-content元素声明它们的正文内容是空的:
<attribute> //属性
<name>example</name> //属性名称
<required>false</required> //属性值是否必须提供。False表示不必,存在缺省值。
<rtexprvalue>true</rtexprvalue>>;//ture表示属性值可以使用jsp表达式,false表示禁止使用
</attribute>
</tag>
</taglib>
2、在jsp中的引用
<%@ taglib uri = “csajsp-taglib.tld” prefix = “csajsp” %>; //进行标记使用声明
<H1><csajsp:example /><H1>; /使用标记
3、编写handler类
标签handler类型
方法
简单标签 (<csajsp:example />)
doStartTag, doEndTag, release
属性
doStartTag, doEndTag, set/getAttribute1...N, release
正文、判断且无交互 (<csajsp:example message="hello">students</csajsp:example>)
doStartTag, doEndTag, release
正文、迭代判断
doStartTag, doAfterBody, doEndTag, release
正文、交互
doStartTag, doEndTag, release, doInitBody, doAfterBody, release
简单标签的handler必须实现Tag接口的doStartTag和doEndTag方法。
在遇到开始标签时调用doStartTag方法。因为简单标签没有正文,
所以这个方法返回SKIP_BODY。在遇到结束标签时调用doEndTag方法。
如果要对页面的其他部分进行判断,则doEndTag方法需要返回EVAL_PAGE,
否则,它就返回SKIP_PAGE。
<tt:simple />
由下列标签handler实现:
public SimpleTag extends TagSupport {
public int doStartTag() throws JspException {
try {
pageContext.getOut().print("Hello.");
} catch (Exception ex) {
throw new JspTagException("SimpleTag: " + ex.getMessage());
}
return SKIP_BODY;
}
public int doEndTag() {
return EVAL_PAGE;
}
}
body-content元素
没有正文的标签必须用body-content元素声明它们的正文内容是空的:
<body-content>empty</body-content>
- 自定义标签学习记录
- HTML标签学习记录
- 自定义标签学习笔记
- jsp 自定义标签 学习
- 自定义标签学习笔记
- 自定义标签学习(下)
- spring 自定义标签 学习
- 自定义标签的学习
- jsp自定义标签学习
- 自定义标签学习
- 自定义View学习记录
- 标签:JSTL 学习应用记录
- AngularJS学习记录-select标签
- 自定义标签--传统标签学习笔记
- 自定义标签--简单标签学习笔记
- JSP自定义标签学习(基础)
- JSP自定义标签学习(高级)
- JSP自定义标签学习(基础)
- 修复window的添加删除程序
- Addison.Wesley.Extending.Rails.Beyond.the.Core
- Performance Explorer--.NET性能分析工具
- 在PB中记录系统出错日志
- OReilly.Web.Services.on.Rails
- 自定义标签学习记录
- Pragmatic.Bookshelf.Enterprise.Integration.with.Ruby
- Pragmatic.Bookshelf.Rails.Recipes
- 失血模型
- ASP.net初学者常用知识
- 系统错误日志函数
- Pragmatic.Bookshelf.Best.of.Ruby.Quiz
- 用GDB调试程序(1)
- 程序员的炒股心态