标签的使用大大减少了页面的臃肿度,是页面焕然一新,便于维护,同时将各种功能以标签的形式封装,提高了代码的重用性。下面本人就结合实际总结下如何创建并使用一个标签,以创建一个输出“hello world”的标签为例:
总的创建步骤:
1 编写所需功能的java类 2 编写定义标签的tld文件 3 在web.xml中配置标签 4 jsp页面头中引入标签指令taglib 5 使用标签
一、Java类:
package com.mypack.mytag;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.Tag;
/**
* 实现功能的Java类
*
*/
public class HelloTag implements Tag {
private PageContext pageContext;
private Tag parent;
public HelloTag() {
super();
}
/*
* 结束标签时的操作
*/
public int doEndTag() throws JspException {
try {
pageContext.getOut().print("hello world");
} catch (IOException e) {
throw new JspException("IO ERROR:"+e.getMessage());
}
return this.EVAL_PAGE;
}
/*
* 开始标签的操作
*/
public int doStartTag() throws JspException {
return this.SKIP_BODY;//表示不计算标签体
}
/*
* 释放标签所占用的资源 比如使用了数据库连接,应在此方法中关闭
*/
public void release() {
}
/*
* 设置所使用标签的页面的上下文
*/
public void setPageContext(PageContext pageContext) {
this.pageContext = pageContext;
}
/*
* 设置上一级标签
*/
public void setParent(Tag parent) {
this.parent = parent;
}
public Tag getParent() {
return this.parent;
}
二、tld文件(taglib descripe)即标签描述文件定义
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_0.xsd"
version="2.1">
<!—总的描述-->
<description>hello tag</description>
<display-name>hello tag</display-name>
<tlib-version>1.1</tlib-version> <!--此标签库的版本-->
<short-name>mytag</short-name>
<uri>/mytag</uri>
<!-- <%@ taglib uri=”/mytag”%>此处使用 -->
<tag> <!--子标签-->
<description>printhello</description>
<name>hello</name> <!--标签名称-->
<tag-class>com.mypack.mytag.HelloTag</tag-class>
<!--Java标签处理器类的名称-->
<body-content>empty</body-content>
</tag>
</taglib><!—根标签-->
三、web.xml中
<taglib>
<taglib-uri>/WEB-INF/mytag.tld</taglib-uri>
<taglib-location>/WEB-INF/mytag.tld</taglib-location>
</taglib>
四、Jsp页面中
<%@taglib uri=”/mytag” prefix=”h”%>
<h:hello/>
五、发布测试
分享到:
相关推荐
创建JSP自定义标签.doc 创建JSP自定义标签.doc 创建JSP自定义标签.doc
本人自行研究JSP自定义标签的学习笔记 目录如下: 目录 一、概述 1 1.1 使用简单标签机制 2 1.2 使用标签文件 3 二 、自定义标签简介 3 2.1 自定义标签概念 3 2.2 标签相关概念 3 2.3 如何创建自定义标签 3 三、自...
JSP页面中如何创建自定义标签,以及如何在JSP页面中使用自定义标签。
NULL 博文链接:https://hehe198504.iteye.com/blog/857552
JSP标签创建一个简单的自定义标签第一步,创建一个标签处理器类:实现SimpleTag接口XxxSimpleTag,方法实现,先不写内容第二步,在WEB-IF文
在JSP中使用自定义标签可以达到这样的目的,事实上,我们所熟知的各类框架基本上都是通过自定义标签的形式来实现的。 通过使用自定义标签,我们可以将实现复杂的逻辑在页面用简单的标签来加以展示。下面我们来实现一...
JSP 自定义标签 自定义标签是用户定义的JSP语言元素。当JSP页面包含一个自定义标签时将被转化为servlet,标签转化为对被 称为tag handler的对象的操作,即当servlet执行时Web container调用那些操作。 JSP标签扩展...
这里在实现自定义标签时,继承的2个类分别是org.apache.struts2.views.jsp.ComponentTagSupport和org.apache.struts2.components.Component,ComponentTagSupport实际上是对BodyTagSupport的一次封装,看一下...
所有就有了jsp 的自定义标签技术。 所以jsp的自定义标签技术就是除去jsp的中的java代码。同时封装标签个人感觉也是一种安全性的体现,不让别人知道实现内部的代码。 那个如何实现自定义标签技术呢? 第一你得搭建一...
本文为大家分享了JSP自定义标签入门学习教程,希望大家喜欢。 1.JSP自定义标签: 自定义标签是用户定义的JSP语言元素。当JSP页面包含一个自定义标签时将被转化为servlet,标签转化为对被 称为tag handler的对象的操作...
jsp自定义标签的创建,引用简单介绍
第一个示例: 简单的jsp自定标签获取内容: 首先创建一个jsp实例类然后继承SimpleTagSupport类 然后实现父类的doTag()方法 在这个方法里获取标签体里的内容this.getJspBody(); 返回的是JspFragment 类,根据这个类...
首先我们需要在WEB-INF/tld/目录下创建page.tld文件 <?xml version=1.0 encoding=ISO-8859-1?> <tlib>1.0 <jsp>1.2</jsp> <short>page <uri>http://www.kevin.com/taglibs/page</uri> <name>...
页面设计人员可以把精力集中在使用标签(HTML,XML或者JSP)创建网站上,而软件开发人员则可以将精力集中在实现底层功能上面,若国际化等等,这样,页面设计人员可以使用自定义标签的形式来实现具体的功能.
但由于JSP的标准操作、JSTL定义的标签满足不了用户的所有要求,所以在JSP2.0中允许用户可根据需要创建自己的标签库,即自定义标签库。 用户自定义标签和JSTL中的标签从技术上看没有任何区别,可以将这些标签统称为...
除了核心 JSP 标记,如 jsp:include 之外,定制标记库工具使您能够创建唯一的标记来描述以站点或应用程序为导向的操作。一旦您创建了定制标记库 ( 简称 taglib) ,当您扩展项目或转向另一个项目时您可以重复使用这些...
自定义标签主要包括三个步骤: 1、编写java类,继承TagSupport类; 2、创建tld文件,影射标签名和标签的java类; 3、jsp页面引入tld。 博文地址:http://blog.csdn.net/itmyhome1990/article/details/50718282
利用自定义标签,可以软件开发人员和页面设计人员合理分工:页面设计人员可以把精力集中在使用标签(HTML,XML或者JSP)创建网站上,而软件开发人员则可以将精力集中在实现底层功能上面,如国际化等,从而提高了工程生产...
mail组件、程序日志组件、JavaScript脚本语言、CSS样式、XML入门技术、在JSP中应用Ajax技术、在JSP中应用DOM解析XML、在JSP中应用JDOM解析XML、在JSP中应用SAX解析XML、EL表达式、JSTL标签库、自定义标签、Hibernate...