jstl_开发第一个标签

来源:互联网 发布:怎么理解js面向对象 编辑:程序博客网 时间:2024/06/05 06:14

前言

在我们的日常开发中,虽然标准jstl库能满足我们的大部分需求,但是在没办法满足的时候就需要我们
使用自定的标签,

说明

这里只演示最简单的标签开发流程,便于熟悉开发流程

开发流程

结构图

这里写图片描述

编写标签类

需要继承TagSupport类或者其他实现了jsptag接口的类或者接口.

/** * 自定义标签类 * @author EumJi * */public class ExampleTag extends TagSupport{    //复写dostarttag    @Override    public int doStartTag() throws JspException {        try {            //向浏览器写内容            pageContext.getOut().print("这是我的第一个标签!");        } catch (IOException e) {            e.printStackTrace();        }        return super.doStartTag();    }}

编写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>A tag library exercising SimpleTag handlers.</description>    <!-- 标签版本 -->    <tlib-version>1.0</tlib-version>    <!--简称  -->    <short-name>SimpleTagLibrary</short-name>    <!-- 路径 -->    <uri>/example</uri>    <tag>        <!-- 标签描述 -->        <description>Outputs 第一个标签</description>        <!-- 标签名 -->        <name>first</name>        <!-- 标签对应的实体类 -->        <tag-class>com.jsu.tag.ExampleTag</tag-class>        <!-- 标签里的内容              tagdependent:标签体内容直接被写入BodyContent,由自定义标签类来进行处理,而不被JSP容器解释.            empty:空标记,即起始标记和结束标记之间没有内容.            scriptless:接受文本、EL和JSP动作.            JSP:接受所有JSP语法,如定制的或内部的tag、scripts、静态HTML、脚本元素、JSP指令和动作。        -->        <body-content>empty</body-content>    </tag></taglib>

在jsp页面中引入标签并使用

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><%@ taglib uri="/example" prefix="ex" %>><!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=ISO-8859-1"><title>Insert title here</title></head><body>    <h1>测试案例</h1>    <ex:first/></body></html>

实验结果

这里写图片描述

更多代码

请移步:源代码

0 0