- 浏览: 831388 次
- 性别:
- 来自: 北京、四川
文章分类
最新评论
-
sunbeamzheng:
总结的很好,好好看看。 拷贝问题确实很需要注意,特别是影不影响 ...
java深拷贝与浅拷贝 -
xmh8023:
...
获取POST数据的值 -
xmh8023:
我访问别的服务器怎么办?急求
获取POST数据的值 -
xmh8023:
String urlString="http://l ...
获取POST数据的值 -
lv12312:
Tomcat 7的老版本么?有bug的,https://iss ...
JMX问题
java(jsp)的自定义标签
参考地址:http://dongguoh.iteye.com/blog/100782
TagSupport与BodyTagSupport的区别主要是标签处理类是否需要与标签体交互
用TagSupport实现的标签,都可以用BodyTagSupport来实现,因为BodyTagSupport继承了TagSupport。
doStartTag()方法是遇到标签开始时会呼叫的方法,其合法的返回值是EVAL_BODY_INCLUDE与SKIP_BODY,前者表示将显示标签间的文字,后者表示不显示标签间的文字;doEndTag()方法是在遇到标签结束时呼叫的方法,其合法的返回值是EVAL_PAGE 与 SKIP_PAGE,前者表示处理完标签后继续执行以下的JSP网页,后者是表示不处理接下来的JSP网页
首先是核心类,继承自BodyTagSupport类,:
定义testTag.tld,貌似有些项是必需的,如下所示:
测试页面,关键是要引入testTag.tld文件:
显示结果:
控制台:
页面:
参考地址:http://dongguoh.iteye.com/blog/100782
TagSupport与BodyTagSupport的区别主要是标签处理类是否需要与标签体交互
用TagSupport实现的标签,都可以用BodyTagSupport来实现,因为BodyTagSupport继承了TagSupport。
doStartTag()方法是遇到标签开始时会呼叫的方法,其合法的返回值是EVAL_BODY_INCLUDE与SKIP_BODY,前者表示将显示标签间的文字,后者表示不显示标签间的文字;doEndTag()方法是在遇到标签结束时呼叫的方法,其合法的返回值是EVAL_PAGE 与 SKIP_PAGE,前者表示处理完标签后继续执行以下的JSP网页,后者是表示不处理接下来的JSP网页
首先是核心类,继承自BodyTagSupport类,:
ppackage cn.tag; import java.io.IOException; import java.util.Map; import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.tagext.BodyTagSupport; public class TestTag extends BodyTagSupport { private static final long serialVersionUID = -5663050580910865400L; /** * 可以在这里进行一些初始化的工作 */ public int doStartTag() throws JspException { System.out.println("----doStartTag()----"); JspWriter out = this.pageContext.getOut(); try { out.println("before"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return this.EVAL_BODY_INCLUDE; } /** * 核心处理标签的地方,业务逻辑在此实现,如:分页,根据参数返回给前台的值等等 */ public int doEndTag() throws JspException { JspWriter out = this.pageContext.getOut(); System.out.println("----doEndTag()----"); /** * 获取参数 */ Map map=this.pageContext.getRequest().getParameterMap(); if(map==null){ System.out.println("map is null"); }else{ System.out.println("map not null"); System.out.println(map.size()); } try { out.println("end"); } catch (IOException e) { System.out.println(e.getMessage()); e.printStackTrace(); } return super.doEndTag(); } }
定义testTag.tld,貌似有些项是必需的,如下所示:
<?xml version="1.0" encoding="UTF-8" ?> <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" version="2.0"> <description>测试</description> <tlib-version>1.1</tlib-version> <short-name>tt</short-name> <uri>/testTag</uri> <tag> <name>test</name> <tag-class>cn.tag.TestTag</tag-class> <body-content>JSP</body-content> </tag> </taglib>
测试页面,关键是要引入testTag.tld文件:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="/WEB-INF/testTag.tld" prefix="tags"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'test.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <tags:test >测试</tags:test> </body> </html>
显示结果:
控制台:
----doStartTag()---- ----doEndTag()---- map not null
页面:
before 测试end
发表评论
-
Java并发编程:volatile关键字解析
2015-07-30 11:30 642转:http://www.cnblogs.com/dolp ... -
Java内存模型
2015-07-29 13:55 9201. 概述 多任务和 ... -
自定义classloader
2015-07-29 13:54 700转:http://tiantian911.iteye.com ... -
自定义ClassLoader实现java应用核心逻辑模块热部署
2015-07-29 13:51 1026转:http://blog.csdn.net/zhangda ... -
java classloader原理初探
2015-07-29 10:14 674转:http://www.cnblogs.com/ ... -
Java 内存分配全面浅析
2015-07-29 08:52 614转:http://blog.csdn.net/shimi ... -
http stream
2014-07-29 16:38 1152StringBuilder sb = new String ... -
Tomcat远程调试
2011-04-09 12:33 1066需要在Tomcat中的catalina.bat中添加如下的一行 ... -
用jmx监控多台服务器(tomcat)
2010-09-08 18:25 4584因为需要写一个后台监控服务器的程序,涉及到jmx,也涉 ... -
call cmd /c start 一点疑问
2010-09-01 10:16 2254call "cmd /c start aaa.bat ... -
Windows计划任务之schtasks
2010-08-30 13:21 3604创建:SCHTASKS /Create /RU SYSTEM ... -
ajax返回值中有中文存在的乱码现象
2010-08-27 16:28 1452ajax返回值中有中文存在的乱码现象,解决就加入下面一行代码即 ... -
MIME TYPE
2010-08-26 16:23 7267最近要做需要在页面上放音频的东西,因此需要用到mime typ ... -
JMX问题
2010-08-20 17:20 5515这个问题貌似是启动tomcat之后就获取不到jmx的链接了,不 ... -
Eclipse控制台乱码
2010-08-05 15:18 4900安装了Eclipse,在运行tomcat时,控制台的中文显示乱 ... -
JMX服务端和客户端的代码
2010-07-27 15:37 3580服务端代码如下 package com.rmi; i ... -
JMX连接Tomcat的JMX测试类
2010-07-27 15:33 3305首先是为了使tomcat支持JMX,必须在tomcat的启动项 ... -
JMX的一个链接类
2010-07-27 09:37 1474package com.pachira.oamp.jmxS ... -
java中文转unicode码
2010-07-22 11:04 43435转载地址:http://www.iteye.com/topic ... -
获取POST数据的值
2010-07-21 14:17 9929当method为POST,Content-Type为 ...
相关推荐
java jsp自定义标签非常好用大家下载学习java jsp自定义标签非常好用大家下载学习java jsp自定义标签非常好用大家下载学习java jsp自定义标签非常好用大家下载学习java jsp自定义标签非常好用大家下载学习java jsp...
总的来说,Java JSP自定义标签的开发提供了一种强大的工具,使得开发者能够构建更加灵活且易于维护的JSP应用。通过自定义标签,可以将复杂的业务逻辑封装起来,降低视图层的复杂度,提高代码的可重用性和可维护性。...
本实例将深入探讨如何实现一个简单的JSP自定义标签。 首先,自定义标签的实现主要依赖于两个核心概念:Tag接口和TagSupport类。`Tag`接口定义了自定义标签必须实现的方法,如`doStartTag()`和`doEndTag()`,它们...
本教程将深入探讨JSP自定义标签的使用,同时结合实例介绍分页和下拉框绑定值的封装。 一、JSP自定义标签基础 1. **定义标签库(Tag Library)**:自定义标签首先需要定义一个TLD(Tag Library Descriptor)文件,它...
JSP自定义标签提供了类似HTML标签的语法结构,通过自定义标签,开发者可以封装复杂的Java代码,使得页面更加简洁易读。简单标签机制无需提供标签体,仅通过标签属性传递参数。 1.2 使用标签文件 除了简单的标签机制...
本文将详细讲解如何利用JSP自定义标签库实现数据列表的显示,以及涉及到的相关技术。 首先,`UserListTag.java` 是自定义标签的核心类,它继承了`javax.servlet.jsp.tagext.TagSupport` 或 `javax.servlet.jsp....
在JSP自定义标签的例子中,我们可以看到这个压缩包文件可能包含了一个完整的示例项目,可以在Apache Tomcat这样的Servlet容器下直接运行。Apache Tomcat是一款开源的Servlet容器,广泛用于部署和运行Java Web应用...
在Java编程语言中,自定义标签(也称为自定义JSP标签)是扩展JSP页面功能的一种强大方式。它们允许开发者创建可重用的代码片段,以提高代码的可读性和可维护性。本篇文章将深入讲解Java中自定义标签的使用方法,包括...
总的来说,理解和解决`Java.lang.NoClassDefFoundError: JspException`异常需要对JSP自定义标签的工作原理、项目结构以及打包过程有深入的了解。遵循正确的项目配置和打包步骤,能够有效地避免这类问题,保证自定义...
本篇将深入探讨“JSP自定义标签之日期显示”,以及如何通过自定义标签来优雅地处理日期格式化和展示。 首先,我们要理解JSP自定义标签的基本概念。自定义标签是JSP的一种扩展,它不是Java内置的标签,而是由开发者...
首先,我们要理解JSP自定义标签的概念。自定义标签是JSP的一种扩展机制,它允许开发者创建自己的标签库,以更加清晰和可维护的方式编写页面。自定义标签的实现通常涉及三个主要部分:标签库描述符(TLD)、标签处理...
JSP自定义标签是类似于HTML标签的自定义组件,但它们提供了更强大的功能,可以封装Java代码,提供复杂的业务逻辑。自定义标签通过TLD(Tag Library Descriptor)文件来定义,使得开发人员能够创建符合Java Servlet...
本教程将深入探讨如何利用JSP自定义标签来编写一个灵活、可扩展的分页系统,该系统不依赖于特定的数据库,具有很高的通用性。 首先,理解JSP自定义标签的工作原理至关重要。自定义标签由三部分组成:标签库描述符...
同时,通过阅读提供的压缩包文件,如"初试jsp自定义标签库 - Java编程.htm",可以深入理解自定义标签的创建过程和使用方法。文件中的其他文档可能包含更多细节,如示例代码和实践指导,帮助开发者进一步掌握这一技术...
本篇将详细介绍如何创建JSP自定义标签。 首先,了解自定义标签的基本结构。一个自定义标签其实是一个Java类,这个类需要继承自`TagSupport`或`BodyTagSupport`。这两个类由JSP容器提供,它们包含处理JSP页面与...
【jsp自定义标签库注意事项】 在Java服务器页面(JSP)开发中,自定义标签库是一种强大的工具,它能够帮助开发者创建可重用的代码片段,提高代码的可读性和可维护性。以下是对JSP自定义标签库的详细解释和使用注意...
JSP自定义标签不同于标准动作标签(如<jsp:include>或<jsp:useBean>),它们是由开发者根据需求自定义的行为,通常封装了复杂的Java代码或特定的功能。自定义标签通过TLD(Tag Library Descriptor)文件来定义,这个...
综上所述,“权威实用jsp自定义标签demo,checkbox,radio>”教程旨在帮助开发者掌握如何创建和使用与选择器相关的自定义标签,从而提升JSP开发的效率和质量。通过学习这个教程,你可以了解到自定义标签的核心概念、...
在Java Server Pages (JSP) 2.0版本中,自定义标签和自定义标签函数极大地扩展了JSP开发的灵活性和可重用性。这些特性允许开发者创建可复用的组件,使代码更加清晰,易于维护。本文将深入探讨JSP 2.0中的自定义标签...
一、JSP自定义标签基础 JSP自定义标签是JSP技术的一部分,它允许开发者创建自己的标签,以扩展HTML或XML文档。这些自定义标签可以封装复杂的Java代码,使JSP页面更加清晰,易于理解和维护。自定义标签由两部分组成:...