一个简单的jsp自定义标签

学到了一个简单的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>

输出结果:

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

时间: 2024-11-04 13:54:48

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

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

JSP自定义标签开发入门 一般情况下开发jsp自定义标签需要引用以下两个包 import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; 首先我们需要大致了解开发自定义标签所涉及到的接口与类的层次结构(其中SimpleTag接口与SimpleTagSupport类是JSP2.0中新引入的). 目标1:自定义一个用表格显示用户信息的简单标签 效果图: 在jsp页面使用此自定义标签: 假设我们有一个UserInfo的javabean,那

JSP自定义标签开发入门

一般情况下开发jsp自定义标签需要引用以下两个包 import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; 首先我们需要大致了解开发自定义标签所涉及到的接口与类的层次结构(其中SimpleTag接口与SimpleTagSupport类是JSP2.0中新引入的). 目标1:自定义一个用表格显示用户信息的简单标签 效果图: 在jsp页面使用此自定义标签: 假设我们有一个UserInfo的javabean,那么在JSP页面使用此标签只

基于JSP 自定义标签使用实例介绍

添加JSP自定义标签: 先添加一个tld文件到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://

【Jsp】JSP自定义标签与MODEL1、MODEL2标准

在JSP2.0之后支持自定义标签,现在一般都是jsp2.4的版本了,所以无须考虑版本的问题.直接使用就可以了.虽然一般开发的过程中,很少会自己定义JSP标签,但是通过一个JSP自定义标签的学习,可以从一定程度上理解struts等框架把好好的JSP标签改得面目全非的机理.正如Jquery本质是Javascript一样,SSH实际上Jsp.其实也没有什么,一个简单的例子就能够完全说明如何在JSP中自定义的标签. 通过自定义标签就能够达到所谓的MODEL2标准,在展示层VIEW给别人看的网页中不得出现

JSP自定义标签开发

一般情况下开发jsp自定义标签需要引用以下两个包 import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; 首先我们需要大致了解开发自定义标签所涉及到的接口与类的层次结构(其中SimpleTag接口与SimpleTagSupport类是JSP2.0中新引入的). 一, 自定义标签  :实现了特定接口的java类,封装了java代码编写的预定义行为.  * 在运行时,标签被替换成相应的预定义java代码. * JSP 自定义标记提

JSP自定义标签入门实例详解

JSP自定义标签主要能用到的两个包 javax.servlet.jsp.*;javax.servlet.jsp.tagext.*; 自定义标签<userInfo:showUserInfo/>实现对用户的展现. 效果图如下 定义用户累User.java  get set就不在赘述. private String userName; private Integer age; private String email; public User(){ this.userName="张三&qu

JSP自定义标签渲染时报Illegal to flush错误

javax.servlet.ServletException:Illegal to flush within a custom tag 此错误是因为在JSP页面中的某一个自定义标签的doStartTag或doEndTag中用了out.flush,而其他的自定义标签没有导致.可以去掉out.flush. JSP自定义标签渲染时报Illegal to flush错误,布布扣,bubuko.com

整理一份jsp自定义标签以及权限控制标签

jsp自定义标签使用场景因地制宜,可以实现自定义的标签输出功能也可以实现权限的管理 1:先定义标签类 1-1:页面输出标签 package com.suyin.web.jspsectag; import java.io.IOException; import javax.servlet.jsp.JspTagException; import javax.servlet.jsp.PageContext; import javax.servlet.jsp.tagext.Tag; public cla

JSP自定义标签库

今天闲来无事,于是想起自己之前一直使用的标签,无论是jstl,struts标签还是springmvc标签,使用起来都觉得很方便,于是自己想尝试定义自己的标签. 下面把今天自己的成果给大家分享下.要自定义标签并使用标签,需要以下几步: 1.定义自己的标签解析类,一般都是继承TagSupport类(servlet-api.jar),Override该类的doStartTag()或者doEndTag()方法: 2.定义.tld文件: 3.在web.xml中声明要使用的标签(也可以不声明): 4.在js