jsp自定义标签 入门【helloword】

本文介绍了如何创建自定义JSP标签,包括定义JAVA文件和编写TLD文件,并详细展示了HelloTag类的具体实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于开发过程中,有一些工作大同小异,想通用的做一个标签。今天,想研究一下。下面,把学习的过程,记录下来。以备查阅。
 
1.首先测试一下容器和web环境。不管三七二十一,跟着讲解的内容,一字字的敲出来。
自定义tag ,主要分为2部门。
1.定义JAVA文件
 
package com.randy.tag; 

import java.io.IOException; 
import java.io.PrintWriter; 

import javax.servlet.jsp.JspException; 
import javax.servlet.jsp.JspWriter; 
import javax.servlet.jsp.tagext.TagSupport; 

public class HelloTag extends TagSupport { 

  @Override 
  public int doEndTag() throws JspException { 
    // TODO Auto-generated method stub 
     
    try { 
      JspWriter out = pageContext.getOut(); 
        
      out.println("标签开始了"); 
      out.println("<font color=\"red\">hello tag</font>"); 
        
    } catch (IOException e) { 
      e.printStackTrace(); 
    } 
    return    EVAL_BODY_INCLUDE; 
  } 

  @Override 
  public int doStartTag() throws JspException { 
     
    try { 
      JspWriter out = pageContext.getOut(); 
      out.println("<br/>"); 
    } catch (IOException e) { 
        
      e.printStackTrace(); 
    } 
    return SKIP_PAGE; 
  } 


 
2.下面 是编写tld文件,并将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://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>myTagLib</short-name> 
        <uri>/myTag</uri> 
         
        <tag> 
  <description>Outputs Hello, World</description> 
                <name>helloTag</name> 
  <tag-class>com.randy.tag.HelloTag</tag-class> 
  <body-content>empty</body-content> 
        </tag> 

</taglib>
 
 
最后,在web.xml 中部署一下
  <taglib> 
    <taglib-uri>/myTag</taglib-uri> 
    <taglib-location>/WEB-INF/mytag.tld</taglib-location> 
    
  </taglib>
 
在JSP 中可以使用了
<%@ page language="java" contentType="text/html; charset=UTF-8" 
        pageEncoding="UTF-8"%> 
<%@taglib prefix="myTag" uri="/myTag" %> 
<%@taglib prefix="html" uri="/WEB-INF/struts-html.tld" %> 
<%@page import="java.util.*" %> 
<!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>Insert title here</title> 
</head> 
<body> 
<myTag:helloTag/> 

<hr/> 

</body> 
</html>
 
 
该标签,没有标签体。没有属性。可以在此基础上,继续学习中。
 



本文转自 randy_shandong 51CTO博客,原文链接:http://blog.51cto.com/dba10g/282607,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值