z注意每个uri地址要保持统一

1.创建MytagPrinta.java文件

package cn.tag;

import java.io.IOException;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.tagext.TagSupport; public class MytagPrinta extends TagSupport { /**
*
*/
private static final long serialVersionUID = 1L; protected String value = null;
protected String type = "0"; public String getValue() {
return value;
} public void setValue(String value) {
this.value = value;
} public String getType() {
return type;
} public void setType(String type) {
this.type = type;
} @Override
public int doStartTag() throws JspException {
// TODO Auto-generated method stub try {
if(type.equals("0"))
{
pageContext.getOut().println("hello:" + value);
}else{
pageContext.getOut().print("hell:"+value+"<br>");
}
} catch (IOException e) {
// TODO Auto-generated catch block
throw new JspTagException( e.getMessage() );
} return SKIP_PAGE;
} @Override
public int doEndTag() throws JspException {
// TODO Auto-generated method stub
return EVAL_PAGE;
} }

  

2.配置web-info下的web.xml文件

<jsp-config>
<taglib>
<taglib-uri>http://www.tag.com/mytag</taglib-uri>
<taglib-location>/WEB-INF/mytlds/mytag.tld</taglib-location>
</taglib> </jsp-config>

  3.web-info下的mytlds文件夹下创建 mytag.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>mytag 带type和value属性的打印</description>
<display-name>mytag 标签库</display-name>
<tlib-version>1.0</tlib-version>
<short-name>mytag</short-name>
<uri>http://www.tag.com/mytag</uri> <tag>
<description>打印value和type</description>
<name>printa</name>
<tag-class>cn.tag.MytagPrinta</tag-class>
<body-content>empty</body-content>
<attribute>
<name>type</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute> </tag> </taglib>

  

4.新建tag.jsp文件。调用

<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="mytag" uri="http://www.tag.com/mytag" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>带属性标签实例</title>
</head>
<body> <h3>调用带属性的print标签</h3>
打印后换行: <mytag:printa value="print" type="1"/>
打印后不换行:<mytag:printa value="printa" type="0"/> </body>
</html>

  

jsp:tld标签的更多相关文章

  1. 使用自定义tld标签简化jsp的繁琐操作

    最近做一个树形结构的展示,请求目标页面后,后台只返回简单的List,虽然有想过在jsp页面内做一些操作简化,但是太繁琐了,其他的标签又不能满足需求,所以只能自己做一个.使用tld标签可以简化jsp代码 ...

  2. Jsp自定义标签,配置tld文件

    Program:Jsp自定义标签,.tld文件的配置 1 <?xml version="1.0" encoding="UTF-8" ?> 2 3 & ...

  3. JSP 标准标签库(JSTL)

    JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...

  4. [JSP]自定义标签库taglib

    自定义标签的步骤 自定义标签的步骤大概有三步: 1.继承javax.servlet.jsp.tagext.*下提供的几个标签类,如Tag.TagSupport.BodyTagSupport.Simpl ...

  5. JSP 自定义标签

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

  6. jsp简单标签开发(一)

    孤傲苍狼 @Override22 public void doTag() throws JspException, IOException {23 //得到代表jsp标签体的JspFragment24 ...

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

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

  8. javaweb学习总结(二十五)——jsp简单标签开发(一)

    一.简单标签(SimpleTag) 由于传统标签使用三个标签接口来完成不同的功能,显得过于繁琐,不利于标签技术的推广, SUN公司为降低标签技术的学习难度,在JSP 2.0中定义了一个更为简单.便于编 ...

  9. javaweb学习总结(二十四)——jsp传统标签开发

    一.标签技术的API 1.1.标签技术的API类继承关系 二.标签API简单介绍 2.1.JspTag接口 JspTag接口是所有自定义标签的父接口,它是JSP2.0中新定义的一个标记接口,没有任何属 ...

随机推荐

  1. UI通过UISlider编写游戏第六感

    #import "RootViewController.h" @interface RootViewController (){    UILabel *scoreLabel; } ...

  2. make tree install 目录树状结构工具安装

    http://futeng.iteye.com/blog/2071867 http://zhou123.blog.51cto.com/4355617/1196415 wget ftp://mama.i ...

  3. Vue.js之组件传值

    Vue.js之组件传值 属性传值可以从父组件到子组件,也可以从子组件到父组件. 这里讲一下从父组件到子组件的传值 还以上次的demo为例,demo里有APP.vue是父组件,Header.vue,Us ...

  4. [BZOJ3551]Peaks

    [BZOJ3551]Peaks BZOJ luogu 建Kruskal重构树,点权为边权 按dfn序建出主席树 倍增找到能跳到的最浅的祖先 主席树查询一下 #include<bits/stdc+ ...

  5. shell一则-按文件每行长度排序

    按文件每行长度排序  awk -F: '{print length($0) " "  $0}' /etc/shadow | sort -r -n | awk '{print $2} ...

  6. JDBC请求

    做JDBC请求,首先需要两个jar包:mysql驱动-mysql-connector-java-5.1.13-bin.jar 和 sqlServer驱动-sqljdbc4.jar,将这两个jar包放到 ...

  7. SUBMIT RM07DOCS【MB51】 获取返回清单,抓取标准报表数据

    *&---------------------------------------------------------------------* *& Report YT_SUBMIT ...

  8. Python替换文件内容

    #!/usr/bin/env python import fileinput for line in fileinput.input('fansik',inplace=1): line = line. ...

  9. 面向对象编程——super进阶(十)

    一.入门使用 在python中,使用super最常见的让子类继承父类.在这种情况下,当前类和对象可以作为super函数的参数使用,调用函数返回的任何方法都是调用超类的方法,而不是当前类的方法. cla ...

  10. [笔记]如何将传统的回调函数转换为C#5.0支持的await格式

    C#5.0引入了编译器支持的 async 和 await 关键字,这就为开发者提供了使用同步思想写异步代码的方便. 但是有些传统函数仅提供了异步回调实现,如何对其封装,使其可以享受await的便利呢? ...