jsp自定义标签 入门【helloword】

简介:
由于开发过程中,有一些工作大同小异,想通用的做一个标签。今天,想研究一下。下面,把学习的过程,记录下来。以备查阅。
 
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,如需转载请自行联系原作者
相关文章
|
缓存 Java 应用服务中间件
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
这篇文章详细介绍了在SpringMVC中创建JSP页面的全过程,包括项目的创建、配置、Tomcat的设置,以及如何实现页面跳转和配置模板解析器,最后还对比了JSP和HTML模板解析的差异。
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
|
Java 容器
JSP 教程 之 JSP 自定义标签 3
JSP自定义标签允许开发人员创建可重用的组件,简化页面逻辑。在JSP 2.0及以上版本,可通过继承`SimpleTagSupport`并覆写`doTag()`方法来创建自定义标签,如`HelloTag`,它有一个`message`属性。属性值通过setter方法`setMessage()`设置。在TLD文件中定义该属性后,可在JSP页面使用`&lt;ex:Hello message=&quot;This is custom tag&quot;/&gt;`来调用,输出定制的文本。
109 0
|
Java 容器
JSP 教程 之 JSP 自定义标签 4
**JSP自定义标签允许创建用户定义的语言元素。它们转换为Servlet中的tag handler,在执行时由Web容器调用。使用SimpleTagSupport继承并重写doTag()方法可创建简单标签。标签可设置属性,如message,通过setter方法访问。TLD文件定义属性元数据,JSP页面则通过prefix和uri引用。例如,&lt;ex:Hello message=&quot;...&quot;/&gt; 显示定制消息。属性可配置为必需、类型、描述及是否为JspFragment。**
127 0
|
搜索推荐 Java 容器
JSP 教程 之 JSP 自定义标签 2
**JSP自定义标签允许用户创建个性化标签,简化页面逻辑。在JSP 2.0中,通过继承`SimpleTagSupport`并重写`doTag()`可创建简单标签处理器。示例展示了一个名为`Hello`的自定义标签,它接收并显示标签体内容。TLD文件配置了标签元数据,JSP页面引用该标签并展示“这是消息主体”。**
108 0
|
Java 容器
JSP 教程 之 JSP 自定义标签 1
**JSP自定义标签简介**:扩展JSP功能,创建用户定义标签,通过Servlet容器调用Tag Handler。在JSP 2.0中,使用SimpleTagHandlers简化定制。以&quot;Hello&quot;标签为例,创建`HelloTag`类继承`SimpleTagSupport`,重写`doTag()`打印消息。编译后,在`custom.tld`定义标签库,JSP页面引用后即可使用。例如 `&lt;ex:Hello/&gt;` 显示 &quot;Hello Custom Tag!&quot;。
111 0
|
设计模式 存储 前端开发
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
217 0
|
Java 数据安全/隐私保护
Jsp自定义标签(foreach,dept,select)
Jsp自定义标签(foreach,dept,select)
113 0
|
XML Java 数据格式
JSP自定义标签
JSP自定义标签
133 0
|
存储 Java 开发者
JSP自定义标签(下)
JSP自定义标签(下)
117 0
|
XML Java 数据格式
JSP自定义标签
JSP自定义标签
127 0