自定义标签制作步骤:
1.扩展TagSupport
2.标签所对应的tld文件配置
3.在JSP页面引用tld配置文件并使用标签
标签制作常用方法说明:
doStartTag()和doEndTag()返回值处理:
SKIP_BODY (0) :跳过了开始和结束标签之间的代码。
EVAL_BODY_INCLUDE(1):将body的内容输出到存在的输出流中
SKIP_PAGE(5): 忽略剩下的页面。
EVAL_PAGE隐含(6):继续执行下面的页
实例制作:
(1)index.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/tagLib.tld" prefix="aaa" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html >
<head>
</head>
<title>index.jsp</title>
<body>
<aaa:showDataTag pageSize="12"></aaa:showDataTag>
<br>
</body>
</html:html>
(2)tagLib.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>
<tlibversion>1.2</tlibversion>
<jspversion>1.1</jspversion>
<shortname>bean</shortname>
<uri>MyTagLib</uri>
<tag>
<name>showDataTag</name>
<tagclass>TagSelect</tagclass>
<attribute>
<name>pageSize</name>
<required>true</required>
</attribute>
</tag>
</taglib>
(3)TagSelect.java
import java.io.IOException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
public class TagSelect extends TagSupport{
private int pageSize;// pageSize属性,控制页面显示的个数,并且要生成get和set方法
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int doStartTag() {
pageContext.getOut();// 获取JSP页面的输出流 out
pageContext.getRequest();// 获取JSP页面的请求对象 request
pageContext.getSession();// 获取JSP页面的会话对象 session
pageContext.getServletContext();// 获取JSP页面的应用对象 application [Page]
JspWriter out = pageContext.getOut();// 用pageContext获取out,他还能获取session等,基本上jsp的内置对象都能获取
System.out.println("out=" + out);
TestNumber t = new TestNumber();
if (t.isNumeric(Integer.toString(pageSize))) {
for (int i = 0; i < pageSize; i++) {
try {
out.println("<table>");
out.println("<tr>");
out.println("<td>");
out.println(i);
out.println("</td>");
out.println("<td>");
out.println(i * 10);
out.println("</td>");
out.println("</tr>");
out.println("</table>");
} catch (IOException e) {
e.printStackTrace();
}
}
} else {
try {
out.println("<table>");
out.println("<tr>");
out.println("<td>");
out.println("你输入的参数格式不对");
out.println("</td>");
out.println("<td>");
out.println("</td>");
out.println("</tr>");
out.println("</table>");
} catch (IOException e) {
e.printStackTrace();
}
}
return EVAL_PAGE;// 标签执行完后,继续执行后面的
}
public int doEndTag() {
return SKIP_BODY;// 标签执行完后,不继续执行后面的
}
分享到:
相关推荐
在`webproject8`这个项目中,你可以找到一个完整的自定义标签实例。这个项目可能包含了一个名为`mytags`的标签库,里面包含了多个自定义标签。通过阅读源代码和查看TLD文件,你可以理解每个标签的工作原理,以及如何...
Java自定义标签是基于Java类的,这些类实现了`javax.servlet.jsp.tagext.Tag`或`javax.servlet.jsp.tagext.SimpleTag`接口。`Tag`接口是经典且必须实现的接口,它定义了标签生命周期中的一系列方法,如`doStartTag...
首先,Java自定义标签是一个Java类,它可以实现`javax.servlet.jsp.tagext.Tag`接口或者其子接口。这个接口定义了标签的生命周期方法,如`doStartTag()`和`doEndTag()`,这些方法在标签的生命周期中被容器调用来执行...
本篇文章将深入探讨Java自定义标签的简单实例,帮助你理解如何在实际开发中应用这一技术。 首先,我们需要了解自定义标签的基本结构和组成。一个自定义标签通常由三部分组成:标签库描述文件(TLD)、标签处理类...
在JavaServer Pages (JSP) 技术中,自定义标签是扩展JSP功能的关键手段,它允许开发者创建可重用的组件,提高代码的可维护性和可读性。本实例将深入探讨如何实现一个简单的JSP自定义标签。 首先,自定义标签的实现...
**JSTL自定义标签实例解析** JavaServer Pages Standard Tag Library (JSTL) 是一套标准的标签库,用于简化JSP开发。JSTL允许开发者使用预定义的标签来处理常见任务,如迭代、条件判断、XML处理等。本文将深入讲解...
五、自定义标签实例 一个简单的HelloWorld自定义标签可能如下: 1. 创建TLD文件(hello.tld): ```xml <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"...
总结,Struts2的自定义标签实例涉及到以下几个关键步骤:创建标签实现类、定义标签描述符、在JSP中使用标签以及处理标签逻辑。通过这种方式,我们可以构建强大的视图层组件,使代码更易于理解和维护,同时提升应用的...
1. **实例化**:当JSP引擎遇到自定义标签时,会根据TLD文件中的`tag-class`创建标签处理对象。 2. **初始化**:如果存在`set`方法,JSP引擎会将标签属性的值设置到对象中。 3. **调用开始标签**:执行`doStartTag()`...
在Java Web开发中,自定义标签(Custom Tags)是一个强大的工具,它允许开发者创建可重用的组件,提高代码的可读性和维护性。自定义标签是JSP标准标签库(JSTL)的一种扩展,它能将复杂的业务逻辑封装起来,使JSP...
Java自定义标签是JSP开发中的一个重要特性,它允许开发者扩展JSP页面的功能,通过创建自己的标签库来封装复杂逻辑或常见操作。本教程将详细讲解如何创建和使用自定义标签。 首先,JSP中的标签库是实现自定义功能的...
在"spring自定义标签例子"这个项目中,我们可以深入理解这一特性,特别是通过Chapter2工程的实例来学习。 Spring框架的自定义标签通常用于简化XML配置,提升可读性和可维护性。这些标签是基于Java的`org.spring...
1. **编写Java类**:你需要定义一个处理自定义标签的Java类,这个类需要继承`freemarker.template.TemplateDirectiveModel`接口,并实现其方法。在这个类中,你可以编写处理逻辑,如接收参数、处理数据、生成输出。 ...
在Java服务器页面(JSP)开发中,自定义标签是一个非常重要的特性,它允许开发者创建可重用的组件,提高代码的可维护性和可读性。本实例将深入讲解如何实现一个基于JSP的自定义分页标签,并涉及到Java反射机制的应用...