学到了一个简单的jsp自定义标签,后面有更多的例子,会更新出来:

例子1:

步骤:
1.编写标签实现类:
  继承javax.servlet.jsp.tagext.SimpleTagSupport;
  重写doTag,实现在网页上输出;
2.在web-inf目录或其子目录下,建立helloword.tld文件,即自定义标签的说明文件
  注意:标签处理类必须放在包中,不能是裸体类;不需要修改web.xml;
  //tld: tag lib description 标签库描述
 
java代码:
package com.mytag;

import java.io.IOException;
import javax.servlet.jsp.JspException; public class HelloTag extends javax.servlet.jsp.tagext.SimpleTagSupport{ @Override
public void doTag() throws JspException, IOException {
//拿到当前这个jsp文件的上下文,拿到输出流
getJspContext().getOut().write("HelloWorld!");
}
}

jsp代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="/helloworldtaglib" prefix="mytag"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>测试自定义jsp tag标签</title>
</head>
<body>
<mytag:helloworld/>
</body>
</html>

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"> <tlib-version>1.0</tlib-version>
<short-name>mytag</short-name>
<uri>/helloworldtaglib</uri>
<tag>
<name>helloworld</name>
<tag-class>com.mytag.HelloTag</tag-class>
<body-content>empty</body-content>
</tag>
</taglib> <!-- 解释: -->
<!-- short-name: 这个标签的前缀名 这里就是<mytag: /> 可以防止和别人定义的标签重名的冲突-->
<!-- uri: 当前这个tld文件要访问它的时候使用的独一无二的标示符,用来找相应的tld文件 -->
<!-- body-content: 开始标签和结束标签之间的信息,标签体; 如<img/>标签体就是空的 -->
<!-- tomcat看到<mytag:helloworld/>的helloworld时候,就在tab下面找name=helloworld对应的class,调用doTag方法 -->

因为我这里的tld文件是放在/WEB-INF/tags/下面的,要配置web.xml文件:加上配置:

<jsp-config>
<taglib>
<!--标签库的uri路径即jsp头文件中声明<%@ taglib uri="/helloworldtaglib" prefix="mytag"%>的uri-->
<taglib-uri>/helloworldtaglib</taglib-uri>
<taglib-location>/WEB-INF/tags/helloworld.tld</taglib-location>
</taglib>
</jsp-config>

输出结果:

后面有其他的用到的,继续更新》。。。。。

一个简单的jsp自定义标签的更多相关文章

  1. JSP 自定义标签

    0 标签技术的API继承体系 1 作用 jsp自定义标签用于移除页面中的java代码 2 实现 2.1 标签处理类ViewIPTag.java package com.zsm.util; import ...

  2. JSP自定义标签开发入门

    一般情况下开发jsp自定义标签需要引用以下两个包 import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; 首先我们需要大致了解开发 ...

  3. JSP自定义标签库

    总所周知,JSP自定义标签库,主要是为了去掉JSP页面中的JAVA语句 此处以格式化输出时间戳为指定日期格式为例,简单介绍下JSP自定义标签的过程. 编写标签处理类(可继承自javax.servlet ...

  4. JSP自定义标签开发入门《转》

    JSP自定义标签开发入门 一般情况下开发jsp自定义标签需要引用以下两个包 import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; ...

  5. 【转】Jsp自定义标签详解

    一.前言 原本是打算研究EXtremeComponents这个jsp标签插件,因为这个是自定义的标签,且自身对jsp的自定义标签并不是非常熟悉,所以就打算继续进行扫盲,开始学习并且整理Jsp自定义标签 ...

  6. 1.4(学习笔记)JSP自定义标签

    一.JSP自定义标签 JSP自定义标签,可以通过实现Tag接口.继承TagSupport类来设置标签功能. 后续通过配置文件将标签和具体的实现类关联. 二.自定义第一个标签(实现Tag接口) 自定义标 ...

  7. JSP-Runoob:JSP 自定义标签

    ylbtech-JSP-Runoob:JSP 自定义标签 1.返回顶部 1. JSP 自定义标签 自定义标签是用户定义的JSP语言元素.当JSP页面包含一个自定义标签时将被转化为servlet,标签转 ...

  8. [转]JSP自定义标签

    原文链接 当jsp的内置标签和jstl标签库内的标签都满足不了需求,这时候就需要开发者自定义标签. 自定义标签 下面我们先来开发一个自定义标签,然后再说它的原理吧! 自定义标签的开发步骤 步骤一 编写 ...

  9. jsp自定义标签分析

    jsp自定义标签的优势体现在于jsp页面上面减少了java代码. jsp自定义标签有三大部分组成,首先是类继承TagSupport,实现doStartTag方法. public int doStart ...

随机推荐

  1. sed详解

    1. Sed简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后 ...

  2. Linux启动新进程的三种方法

    程序中,我们有时需要启动一个新的进程,来完成其他的工作.下面介绍了三种实现方法,以及这三种方法之间的区别. 1.system函数-调用shell进程,开启新进程system函数,是通过启动shell进 ...

  3. 怎么给OCR文字识别软件重编文档页面号码

    ABBYY FineReader Pro for Mac OCR文字识别软件处理文档时,在FineReader文档中,页面的加载顺序即是页面的导入顺序,完成导入之后,文档的所有页面均会被编号,各编号会 ...

  4. Ext is not defined

    最近由于项目设计到Extjs所以也准备研究一下,可是谁知道刚写好一个demo,运行的时候死活出不来界面,于是用firebug看了一下,出现:Ext is not defined,因为刚开始学也不知道是 ...

  5. ntko office 5.0.1.0注册码

    如何手工卸载和安装NTKOOFFICE文档控件?(NTKOOFFICE文档控件) 1.何时进行手工卸载和安装; 一般情况下应该让客户端自动控件,这样当服务器控件版本更新时,客户端可以获得自动升级方面的 ...

  6. Oracle对索引列同时使用多个聚合函数的性能问题

    Oracle某一数据表tkk715(数据量在一千万左右),对一个索引字段做获取最大值与最小值的聚合函数操作,响应时间较长(超过3秒): 将SQL改写为分别取最大.最小的聚合值,IO和响应时间显著下降到 ...

  7. sqlplus将查询结果重定向到文件,不输出到屏幕

    --每行的字符数目 --该参数设置每页输出的行数.n=0表示不产生新页 --显示和拷贝long类型值的最大宽度的设置,最大值2G --sqlplus检索long类型值的增量大小.由于内存的限制 可按增 ...

  8. CryptoAPI与openssl数字签名与验证交互

    昨天写过了RSA非对称加密解密的交互方式, 其实数字签名也是RSA非对称加密,只不过用私钥加密的,再加上个hash摘要 CryptoAPI与openssl RSA非对称加密解密(PKCS1 PADDI ...

  9. github 添加 C# IGNORE

    在创建仓库时选择 VisualStudio 即可.

  10. C#:基于WMI查询USB设备

    来源:http://blog.csdn.net/jhqin/article/details/6734673 /* ------------------------------------------- ...