JSP 自定义标签之一 简单实例

2016-02-19 09:42 26 1 收藏

下面图老师小编要跟大家分享JSP 自定义标签之一 简单实例,简单的过程中其实暗藏玄机,还是要细心学习,喜欢还请记得收藏哦!

【 tulaoshi.com - Web开发 】

在JSP中使用自定义标签可以达到这样的目的,事实上,我们所熟知的各类框架基本上都是通过自定义标签的形式来实现的。
通过使用自定义标签,我们可以将实现复杂的逻辑在页面用简单的标签来加以展示。下面我们来实现一个非常简单的自定义标签,期望通过这个简单的实例引领各位进入自定义标签的领域。我们准备定义的这个自定义标签所实现的功能是在JSP页面中显示出版权信息,并且在以后的博文中,我们还会对它进行升级改造。
首先,打开编辑器,创建以下Java代码:
代码如下:

package com.yanzhijun;
import java.io.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class CopyRightTag extends TagSupport
{
public int doEndTag()
{
try
{
String copyPre = "颜志军版权所有 ©2008";
String info = new String(copyPre.getBytes(), "ISO8859_1");
pageContext.getOut().println(info);
}
catch(IOException e){}
return EVAL_PAGE;
}
}

上述代码编辑完成后,编译并生成class文件。并将编译之后的字节码文件连同包名一同放入准备使用当前标签的WEB应用的WEB-INFclasses目录之下。例如WEB应用在名为test的目录之下,则将上述代码编译时生成的com目录全部拷贝至testWEB-INFclasses之下即可。
注意:在编译上述代码时,如果不是在集成的环境中进行,例如直接在命令行通过执行javac命令进行编译工作,那么需要手工在环境变量CLASSPATH中添加包javax.servlet.jsp所在的位置,对于Tomcat而言,这个包的位置是Tomcat安装目录下lib目录中的jsp-api.jar。
随后将以下XML格式的文件存入到名为testlib.tld的文件中,文件testlib.tld要存储于目录WEB-INFtlds之下。
代码如下:

?xml version="1.0" encoding="ISO-8859-1" ?
!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
tlibversion1.0/tlibversion
jspversion1.1/jspversion
shortnameyzj/shortname
tag
namecopyright/name
tagclasscom.yanzhijun.CopyRightTag/tagclass
bodycontentempty/bodycontent
attribute/
/tag
/taglib

至此,我们已经完成了一个自定义标签,随后我们就可以在JSP文件中对其进行使用了。例如有如下JSP文件:
代码如下:

%@ taglib uri="WEB-INF/tlds/testlib.tld" prefix="yzj" %
html
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312" /
title自定义标签简单示例/title
/head
body
p这里是正文内容/p
yzj:copyright/
/body
/html

在浏览器中访问该JSP文件,可以看到,在页面底部,显示了“颜志军版权所有 ©2008”的信息,这正是我们定义的这个自己定义标签的作用。
通过上面的过程,已经实现了自定义标签,并对其进行使用测试。关于其原理、机制、要注意的细节等问题,在请等待随后的博文。

来源:http://www.tulaoshi.com/n/20160219/1591827.html

延伸阅读
标签: 办公软件
一、认识VBA 在介绍自定义函数的具体使用之前,不得不先介绍一下VBA,原因很简单,自定义函数就是用它创建的。VBA的全称是Visual Basic for Application,它是微软最好的通用应用程序脚本编程语言,它的特点是容易上手,而且功能非常强大。 在微软所有的 Office 组件中,如 Word 、Access、Powerpoint等等都包含VBA,如果你...
标签: Web开发
如果能在自己的网页中使用自定义的标签是不是很酷呢,比如用你的网站的域名、用你的网名、用你所爱的人的名字来定义HTML标签并内嵌到网页中,本文就介绍一下这方面的内容。 本文以我的网名的拼音为例来自定义HTML标签。 网名:龙犊,拼音:longdu 首先需要在html标签中进行这样的申明:html xmlns:longdu,xmlns即xml name spac...
标签: autocad教程
嘿嘿,今天看见一个问题贴,寻求如何自定义线型,自己操作了许久,都不太顺,后来转换一想,即然CAD有自带线型,为什么不利用它原来的文件,加以编改下(不动其它参数,照葫芦画瓢),不又是一个新线型!没想到,一试就成,嘿嘿,现在拿出来分享下!~ 先如何图,找到以下路径 再找到这个文件,双击打开 打开...
标签: autocad教程
嘿嘿,今天看见一个问题贴,寻求如何自定义线型,自己操作了许久,都不太顺,后来转换一想,即然CAD有自带线型,为什么不利用它原来的文件,加以编改下(不动其它参数,照葫芦画瓢),不又是一个新线型!没想到,一试就成,嘿嘿,现在拿出来分享下!~ 先如何图,找到以下路径 再找到这个文件,双击打开 打开文件后,找到和你录求...
《死侍》自定义键位心得完美自定义键位 方式1: Q作为传送反击键,鼠标左键轻击,右键重击,中键开枪,E键瞄准放大,R重装和互动,ZXC分别对应键盘的轻枪重,其他不变。 鼠标左键轻击,右键重击,中键开枪,这个几乎没什么可说的。 ZXC的定义是不想占用其他键位,再就是方便看刚开始了解连招,也比较形象和对称,有时还可以用来释放动...

经验教程

746

收藏

86
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部