`
zhangym195
  • 浏览: 123737 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江
社区版块
存档分类
最新评论

JSP开发自定义标签简明手册

阅读更多

    在J2EE开发中,标签是一个很重要的内容,自2001年诞生后就将那混杂的代码的进行分离,形成多层的结构。彻底将页面与开发人员分开。

本例基于学习的目的,让大家体验一下自定义标签的实现过程,follow me,go :~

一、步骤及目录结构


2、编写*.tld文件,放置于WEB-INF目录或子目录下

打包截图


二、示例程序

/**

 * copyright reserved,zhangym 2008

 */

package org.zym.tags;

 

import java.io.IOException;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

import javax.servlet.jsp.JspTagException;

import javax.servlet.jsp.JspWriter;

import javax.servlet.jsp.tagext.TagSupport;

 

/**

 * 通过给定的日期字符串,根据指定的格式进行日期时间的格式化.<br>

 * <ul>

 * <li>完全指定属性:<util:datetime date="1978-03-28 20:58:58 " pattern="yyyy年MM月dd日 hh:mm:ss"/>,输出结果为:yyyy年MM月dd日 hh:mm:ss

 * <li>取系统时间:<util:datetime />,输出内容为:yyyy-MM-dd hh:mm:ss

 * </ul>

 * @param pattern 格式化日期时间的字符串,如 "yyyy-MM-dd hh:mm:ss" .

 * @param dateString 时间字符串,为空则为系统当前时间

 * @return 按要求格式化的日期时间字符串

 * @author zhangym <br>

 */

public class DateTimeTag extends TagSupport {

    

    private static final long serialVersionUID = -2132806052574019882L;

    private String pattern = "yyyy-MM-dd hh:mm:ss";  //时间日期格式字符串

    private String dateStr;  //时间日期字符串属性

    private Date date;

    

    public void setPattern(String pattern) {

       this.pattern = pattern;

    }

    public void setDate(String dateStr) {

       this.dateStr = dateStr;

    }

    

    @Override

    public int doEndTag() throws JspTagException{

       SimpleDateFormat sdf = new SimpleDateFormat(pattern);

       SimpleDateFormat sdfi = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

       

       if(dateStr == null){

           date = new Date();

       }else

       {

           try {

              date = sdfi.parse(dateStr);

           } catch (ParseException e) {

              e.printStackTrace();

           }

       }

       JspWriter out = pageContext.getOut();

       try {

           out.println(sdf.format(date));

       } catch (IOException e) {

           e.printStackTrace();

       }

       //继续计算页面

       return EVAL_PAGE;

    }

    

}


2)编写.tld文件,命名为util.tld,放在目录WEB-INF下面的tlds文件夹下,其实名此文件的名称和在WEB-INF目录下的位置是任意的。

<?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>A tag library SimpleTag handlers.</description>

    <tlib-version>1.0</tlib-version>

    <short-name>util</short-name>

    <uri>/util/tags</uri>

     <tag>

           <description>Outputs date time</description>

         <name>datetime</name>

           <tag-class>org.zym.tags.DateTimeTag</tag-class>

           <body-content>empty</body-content>

           

           <attribute>

              <name>date</name>

               <required>false</required>

              <rtexprvalue>true</rtexprvalue>

           </attribute>

           

           <attribute>

              <name>pattern</name>

              <required>false</required>

              <rtexprvalue>false</rtexprvalue>

           </attribute>

           

    </tag>

    

 </taglib>


3)在页面中使用标签

需在页面中进行引用,此引用的信息是在tld文件中进行了规定的,如prefix=”util”和uri=”/util/tags”

<%@ page contentType="text/html; charset=UTF-8" %>

<%@ taglib uri="/util/tags" prefix="util" %>

<html>

<head>

<title>自定义标签</title>

</head>

<body>

    指定时间:<util:datetime date="1978-03-28 20:58:58 " pattern="yyyy年MM月dd日 hh:mm:ss"/>

    <hr/>

    当前日期:<util:datetime pattern="yyyy-MM-dd"/>

    <hr/>

    当前时间:<util:datetime />

    <hr/>

</body>

</html>


三、标签类打包
在完成了标签类之后,交给网页开发人员进行使用时,我们应该尽量让其使用简单,并透明。打包需要两个步骤:

1) 整理文件并规划目录

a)将项目目录下的WEB-INF目录下的classes下的包及编译好的标签类复制出来,放在一个临时目录下
b)在临时目录下,创建一个META-INF目录,将util.tld文件复制到其下

B987797c-1b25-3334-9f60-274aeb069c3a 

 

F33459e0-f87b-33a0-a849-680dbe1c6f2a 
2) 进入目录下,使用jar命令进行打包,命令如下:


F:\util\> jar -cvf util.jar *

 

jar



解释:将此目录下的所有文件打包util.jar文件

四、自定义标签jar包使用
将其放于WEB-INF目录下的lib目录中,就可以了。跟使用JSP的其他标签一样,只要在JSP页面中正常引用就可以。

 

  • mytag.zip (10.1 KB)
  • 描述: 使用Eclipse导入示例源代码
  • 下载次数: 103
分享到:
评论

相关推荐

    jsp自定义标签开发手册

    **JSP自定义标签开发手册** 在JavaServer Pages (JSP) 技术中,自定义标签是扩展JSP功能的重要手段,它允许开发者创建可重用、可封装的组件,提升代码的可读性和可维护性。本手册将深入探讨JSP自定义标签的开发流程...

    jsp2.0 自定义标签和自定标签函数

    在Java Server Pages (JSP) 2.0版本中,自定义标签和自定义标签函数极大地扩展了JSP开发的灵活性和可重用性。这些特性允许开发者创建可复用的组件,使代码更加清晰,易于维护。本文将深入探讨JSP 2.0中的自定义标签...

    jsp 自定义标签实例

    在JavaServer Pages (JSP) 技术中,自定义标签是扩展JSP功能的关键手段,它允许开发者创建可重用的组件,提高代码的可维护性和可读性。本实例将深入探讨如何实现一个简单的JSP自定义标签。 首先,自定义标签的实现...

    JSP自定义标签学习笔记

    在JSP(JavaServer Pages)开发中,自定义标签是一种扩展JSP功能的强大工具,它允许开发者创建可重用的代码组件,以提高代码的可读性和可维护性。本篇学习笔记将深入探讨JSP自定义标签的相关概念、创建方法以及实际...

    JSP自定义标签的开发及使用

    在Java服务器页面(JSP)开发中,自定义标签(Custom Tags)是一种强大的特性,它允许开发者创建可重用的组件,以提高代码的可维护性和可读性。本篇文章将深入探讨JSP自定义标签的开发与使用,以及如何通过实例`Demo...

    jsp使用自定义标签taglib分页系列——完整例子

    jsp使用自定义标签taglib分页系列——完整例子

    jsp自定义标签 jsp自定义标签

    jsp自定义标签jsp自定义标签jsp自定义标签jsp自定义标签

    jsp 自定义标签的使用

    理解并掌握自定义标签的原理和实践,对于提升JSP应用的开发效率和质量具有重要意义。在分页和下拉框绑定值的场景中,自定义标签的应用能简化页面逻辑,使代码更易于理解和维护。结合JSTL,我们可以构建出更加灵活、...

    JSP自定义标签实例与详细讲解

    自定义标签通过TLD(Tag Library Descriptor)文件来定义,使得开发人员能够创建符合Java Servlet规范的标签库。 二、创建自定义标签库 创建自定义标签库首先需要编写TLD文件,该文件用于描述标签的属性、行为以及...

    jsp的自定义标签

    **JSP自定义标签详解** 在Java服务器页面(JSP)技术中,自定义标签是扩展JSP功能的重要手段,它允许开发者创建可重用的组件,这些组件的行为类似于HTML标签,但具备更强大的功能和灵活性。这篇博客将深入探讨JSP...

    jsp权限控制,jsp自定义标签实现

    使用jsp自定义标签的功能实现权限的控制。(如果用户没有某个模块的删除权限,就不现实这个删除按钮) 在整个项目中所有的页面都可以引入自定义的标签去做到权限的控制。 自定义标签文件 删除 可以控制页面中的每...

    JSP自定义标签之自动完成框

    在IT行业中,Java Server ...总的来说,JSP自定义标签为开发人员提供了强大且灵活的方式来扩展JSP的功能。结合前端技术,我们可以构建出交互性极强的动态网页,例如这里的自动完成框,极大地提升了用户的输入体验。

    jsp自定义标签库实现数据列表显示

    在JavaServer Pages (JSP) 开发中,自定义标签库是提高代码可重用性和模块化的重要手段。本文将详细讲解如何利用JSP自定义标签库实现数据列表的显示,以及涉及到的相关技术。 首先,`UserListTag.java` 是自定义...

    jsp自定义分页标签

    在JavaServer Pages (JSP) 开发中,为了提高代码的可维护性和重用性,开发者经常使用自定义标签库。本主题将深入探讨“jsp自定义分页标签”,这是一种在网页展示大量数据时非常实用的功能,它可以有效地帮助用户浏览...

    jsp自定义标签例子,能在Tomcat下直接运行

    总之,JSP自定义标签是提高JSP开发效率和代码复用性的重要工具,通过创建和使用自定义标签,我们可以构建出更加模块化、易于维护的Web应用程序。结合Tomcat这样的Servlet容器,可以快速地部署和测试这些自定义组件。

    jsp自定义标签报错的问题

    在使用JSP自定义标签时,开发者可能会遇到一些报错问题,这通常涉及到项目结构、类路径设置或自定义标签的编译与打包方式。在本文中,我们将深入探讨这些问题,以及如何解决“JspException”这个特定异常。 首先,...

    JSP自定义标签之日期显示

    在Java服务器页面(JSP)开发中,自定义标签是一种扩展JSP功能的强大方式,它允许我们封装复杂的逻辑或重复使用的代码片段,提高代码的可读性和可维护性。本篇将深入探讨“JSP自定义标签之日期显示”,以及如何通过...

    开发自定义JSP标签

    下面我们将深入探讨如何开发自定义JSP标签。 首先,我们需要理解自定义JSP标签的基本结构。自定义标签通常由三部分组成:标签库描述符文件(TLD),标签处理类(Tag Handler Class)以及标签库使用者在JSP页面中...

    掌握jsp自定义标签chm版

    在JavaServer Pages ...总之,"掌握jsp自定义标签chm版"这份资料涵盖了JSP自定义标签的各个方面,是学习和提升JSP开发能力的重要参考资料。通过深入学习,开发者可以更加自如地驾驭JSP,构建高效、可维护的Web应用。

    jsp页面自定义标签的实现

    总结来说,理解并熟练运用JSP自定义标签是Java Web开发中的重要技能,它有助于提高代码的可读性、可维护性和可重用性,降低系统复杂度,使得团队协作更为高效。在实践中,开发者可以根据需求设计和实现自定义标签,...

Global site tag (gtag.js) - Google Analytics