jsp的自定义标签库有着较好的代码复用性,而且可以使整个页面简洁、美观。使用起来非常方便。下面就动手实现一个简单的“hello world”标签。
1、实现自定义标签可以继承javax.servlet.jsp.tagext.TagSupport类,重写该类方法。代码如下:
package fox.tags.hello;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
public class HelloTag extends TagSupport{
@Override
public int doStartTag() throws JspException {
JspWriter out=this.pageContext.getOut();
try{
out.write("hello world !");//页面中显示的内容
}catch(IOException e){
e.printStackTrace();
}
return this.SKIP_BODY;//不包含主体内容
}
}
2、编写hello.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">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>shortname</short-name>
<tag>
<name>hello</name>
<tag-class>fox.tags.hello.HelloTag</tag-class>
</tag>
</taglib>
3、配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
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-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<jsp-config>
<taglib>
<taglib-uri>/hello-tags</taglib-uri>
<taglib-location>/WEB-INF/tld/hello.tld</taglib-location>
</taglib>
</jsp-config>
</web-app>
4、在页面中引用自定义标签库
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="f" uri="/hello-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<f:hello></f:hello>
</body>
</html>
分享到:
相关推荐
理解JSP生命周期,如何使用JSP内置对象(如request、response、session、pageContext等),以及如何编写自定义标签库(Tag Libraries)是学习JSP的重要部分。 3. **JDBC**: JDBC是Java与数据库交互的标准API,它...
这篇笔记自学资料主要涉及了Java Web开发中的核心概念,包括字符编码处理、JSP指令、JSP动作标签以及Servlet相关知识。让我们详细解析一下这些知识点。 1. 字符编码处理: 在Java Web开发中,处理字符编码是非常...
Struts2自学笔记 Struts2是Java Web开发中的一款广泛应用的MVC框架,它基于Model-View-Controller设计模式,旨在简化企业级应用的开发流程。本自学笔记将深入探讨Struts2的核心概念、主要功能及其实现原理。 1. **...
Java自学笔记概述 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现已被Oracle公司收购)于1995年发布。这份“java自学笔记”涵盖了从基础到进阶的多个Java知识点,旨在帮助初学者系统地学习并掌握...
这篇自学笔记将深入探讨Struts2的文件上传机制。 1. **文件上传原理** 文件上传是基于HTTP协议的POST请求实现的。在HTML表单中,通过`<input type="file" />`元素让用户选择本地文件。当用户提交表单时,浏览器会...
Java自学笔记是一个逐步积累的过程,涵盖了许多核心概念和实践技巧。这份笔记的目的是帮助初学者系统地理解并掌握Java这门强大的编程语言。下面将详细阐述一些关键知识点,旨在为你的学习之路提供清晰的指导。 1. *...
5. **创建结果页面**:编写一个简单的JSP页面,展示HelloWorld消息,例如`hello.jsp`。 6. **配置Struts2配置文件**:在`struts.xml`中定义Action和结果映射,让Struts2知道如何根据用户的请求找到对应的Action并...
以上内容仅是Struts2学习的一部分,实际开发中,你还需要掌握Action类的编写,配置文件的使用,拦截器的自定义,以及Struts2提供的各种结果类型和标签库的运用。通过深入理解和实践,你将能够熟练运用Struts2框架...
6. **JSP基础**:标签中提到了"jsp基础",JSP(JavaServer Pages)是用于创建动态Web内容的技术,可能有一些关于JSP指令、脚本元素和动作的笔记。 7. **MySQL数据库**:"100517_MySQL.txt"表明文件包含了有关MySQL...
Java JDK 6学习笔记课件是由知名讲师林学良教授的一套系统性的Java编程教程,主要针对初学者和有一定基础的开发者,旨在帮助他们深入理解Java语言和JDK ...无论是自学还是课堂教学,这都是一个不可多得的Java学习资源。
本学习笔记旨在提供一份全面深入的Java教程,它不仅涵盖了Java的基础知识,还包括了作者个人的见解和实践经验。适合Java初学者、在校大学生以及自学编程爱好者。 #### Java基础知识 1. **数据类型**: - 基本数据...
标题中的"JQuery.rar"是一个包含jQuery学习资料的压缩包,很可能包含了作者在学习过程中整理的笔记。这份资料对于初学者或者想要提升JavaScript技能的开发者来说是一份宝贵的资源。 ### 1. jQuery基础 - **选择器*...
作为“良葛格Java学习笔记”,这个压缩包文件很可能是包含了一位学习者在Java编程语言学习过程中的积累和心得,旨在帮助初学者或自学者更好地理解和应用Java。 Java是一种广泛使用的面向对象的编程语言,由Sun ...
【标题】"myJavaEducation" 是一个与Java开发人员专业培训相关的学习资源库,它包含了作者在2020年10月至2021年3月这段时间内所学的知识和实践项目。这个压缩包文件可能是一个GitHub仓库的下载版本,用于分享和归档...