自定义标签配置详解
来源:互联网 发布:windows live安装包 编辑:程序博客网 时间:2024/05/29 14:46
自定义标签配置详解
以一个经典例子来说明:
用1.0的自定义标签语法开发(2.0也行)
案例:开发一个显示公司版权信息的标签
效果:在Jsp中执行<my:CopyRight></my:CopyRight>,将会在页面上输出公司
版权信息
开发步骤:(以上面的例子为准)
1.编写标签处理类(要求实现Tag接口)
结果枚举值的说明:
SKIP_BODY 跳过了开始和结束标签之间的代码
EVAL_BODY_INCLUDE 将body的内容输出到存在的输出流中(暂时用不到)
SKIP_PAGE 忽略剩下的页面
EVAL_PAGE 继续执行下面的页面
这里给出具体例子实现Tag接口的代码:
CopyRight.java代码:
package javastudy;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.Tag;
public class CopyRight implements Tag {
///通过实现Tag接口
PageContext pagecontext;
@Override
public int doEndTag() throws JspException {
JspWriter out = pagecontext.getOut();///通过pagecontext
(pagecontext可以获得其他八大jsp内置对象)来获得out对象
try {
out.println("小欢科技有限公司!2017-未来 版
权所有!");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return Tag.EVAL_PAGE; ///意思就是继续执行后面的页面
}
@Override
public int doStartTag() throws JspException {
// TODO Auto-generated method stub
return Tag.SKIP_BODY;
}
@Override
public Tag getParent() {
// TODO Auto-generated method stub
return null;
}
@Override
public void release() {
// TODO Auto-generated method stub
}
@Override
public void setPageContext(PageContext arg0) {
// TODO Auto-generated method stub
pagecontext = arg0;//将网页上的PageContext注入到这个类中,以
此来调用包括PageContex在内的jsp九大内置对象
//这里声明的pagecontex是用来接收网页上的PageContext,注入
这个功能由系统来完成!
}
@Override
public void setParent(Tag arg0) {
// TODO Auto-generated method stub
}
}
提示:注意 doStartTag() 和doEndTag()这里面的代码,我都写的有注释!
2.添加tld文件
tld=tag library discription=标签库描述
tld文件请置于web-inf目录之下,文件名没有要求
3.引入tld文件,uri可以自己输入,prefix可以随便输入
4.新建一个jsp文件,使用标签即可!
web-inf下面的myfile.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">(这里如果
是2.0版本的话就需要改)
web-inf下面的myfile.tld文件
<taglib>
<tlibversion>0.1</tlibversion>
<jspversion>1.1</jspversion>
<shortname>myTaglib</shortname>
<uri>http://www.baidu.com/tag</uri>(这里重点)
<info>my all tags</info>
<tag>
<name>CopyRight</name>
<tagclass>javastudy.CopyRight</tagclass>(这里重点)
<info>display copyright</info>
</tag>
</taglib>
里面具体的标签的含义在网上都可以查到,我就不一一解释!
3.这里是jsp文件(来使用标签,只写出部分)
<body>
<my:CopyRight>Hello</my:CopyRight>
</body>
加上hello,如果要显示出来的话,那么就要看CopyRight里面doStartTag()
里面的return的返回值,上面的返回值都有枚举,这个例子中是打印不出的
hello的,因为是SKIP_BODY!
最后显示的字体就是:小欢科技有限公司!2017-未来 版权所有!
自定义标签可以大大提高公司的开发效率,框架师一般会开发一些自定义标签!
以一个经典例子来说明:
用1.0的自定义标签语法开发(2.0也行)
案例:开发一个显示公司版权信息的标签
效果:在Jsp中执行<my:CopyRight></my:CopyRight>,将会在页面上输出公司
版权信息
开发步骤:(以上面的例子为准)
1.编写标签处理类(要求实现Tag接口)
结果枚举值的说明:
SKIP_BODY 跳过了开始和结束标签之间的代码
EVAL_BODY_INCLUDE 将body的内容输出到存在的输出流中(暂时用不到)
SKIP_PAGE 忽略剩下的页面
EVAL_PAGE 继续执行下面的页面
这里给出具体例子实现Tag接口的代码:
CopyRight.java代码:
package javastudy;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.Tag;
public class CopyRight implements Tag {
///通过实现Tag接口
PageContext pagecontext;
@Override
public int doEndTag() throws JspException {
JspWriter out = pagecontext.getOut();///通过pagecontext
(pagecontext可以获得其他八大jsp内置对象)来获得out对象
try {
out.println("小欢科技有限公司!2017-未来 版
权所有!");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return Tag.EVAL_PAGE; ///意思就是继续执行后面的页面
}
@Override
public int doStartTag() throws JspException {
// TODO Auto-generated method stub
return Tag.SKIP_BODY;
}
@Override
public Tag getParent() {
// TODO Auto-generated method stub
return null;
}
@Override
public void release() {
// TODO Auto-generated method stub
}
@Override
public void setPageContext(PageContext arg0) {
// TODO Auto-generated method stub
pagecontext = arg0;//将网页上的PageContext注入到这个类中,以
此来调用包括PageContex在内的jsp九大内置对象
//这里声明的pagecontex是用来接收网页上的PageContext,注入
这个功能由系统来完成!
}
@Override
public void setParent(Tag arg0) {
// TODO Auto-generated method stub
}
}
提示:注意 doStartTag() 和doEndTag()这里面的代码,我都写的有注释!
2.添加tld文件
tld=tag library discription=标签库描述
tld文件请置于web-inf目录之下,文件名没有要求
3.引入tld文件,uri可以自己输入,prefix可以随便输入
4.新建一个jsp文件,使用标签即可!
web-inf下面的myfile.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">(这里如果
是2.0版本的话就需要改)
web-inf下面的myfile.tld文件
<taglib>
<tlibversion>0.1</tlibversion>
<jspversion>1.1</jspversion>
<shortname>myTaglib</shortname>
<uri>http://www.baidu.com/tag</uri>(这里重点)
<info>my all tags</info>
<tag>
<name>CopyRight</name>
<tagclass>javastudy.CopyRight</tagclass>(这里重点)
<info>display copyright</info>
</tag>
</taglib>
里面具体的标签的含义在网上都可以查到,我就不一一解释!
3.这里是jsp文件(来使用标签,只写出部分)
<body>
<my:CopyRight>Hello</my:CopyRight>
</body>
加上hello,如果要显示出来的话,那么就要看CopyRight里面doStartTag()
里面的return的返回值,上面的返回值都有枚举,这个例子中是打印不出的
hello的,因为是SKIP_BODY!
最后显示的字体就是:小欢科技有限公司!2017-未来 版权所有!
自定义标签可以大大提高公司的开发效率,框架师一般会开发一些自定义标签!
阅读全文
0 0
- 自定义标签配置详解
- TLD文件配置详解(自定义标签)
- 自定义标签详解
- 自定义标签详解2
- JSP自定义标签详解
- 详解自定义JSP标签
- 自定义标签详解
- JSP自定义标签详解
- 自定义分页标签详解
- jsp 自定义标签详解
- 自定义Spring配置标签
- JSP自定义标签配置
- 自定义JSP标签详解------传统标签
- 自定义JSP标签详解------简单标签
- 自定义标签&&JSTL标签库详解
- 自定义标签&&JSTL标签库详解
- 自定义标签&&JSTL标签库详解
- 自定义JSTL标签步骤详解
- Android handler讲解与实践
- Centos 安装amd显卡
- 1211: 中文系素素的困惑
- android点击button后的页面跳转
- 树状结构显示之递归练习并说明写递归代码的技巧
- 自定义标签配置详解
- 《算法分析与设计》Week 19
- [leetcode]124. Binary Tree Maximum Path Sum
- leetcode371题解
- 矩阵(matrix)应用大总结(二)HDU1588+HDU 5950+HDU 5015
- JSP简介——9大隐式对象
- RabbitMQ 三 角色权限
- Linux中制作压缩文件
- Linux学习总结(六)