JSP自定义标签的执行原理】的更多相关文章

当浏览器发来请求后,会将这个请求交给JSP翻译成的servlet来处理,自定义标签对应servlet中一个方法的调用,这个方法主要步骤如下 1,产生标签处理类的实例对象 2,将pageContext传入给标签处理类对象 3,看标签是否有父标签,如果有则将父标签传递给标签处理器类.如果没有的话则传入null. 4,调用标签处理类的doStartTag()方法来对应开始标签 5,执行一段标签体 6,执行doEndTag(),对应的是结束标签. 7,一般调用标签处理器类的release()方法来回收标…
一.前言 原本是打算研究EXtremeComponents这个jsp标签插件,因为这个是自定义的标签,且自身对jsp的自定义标签并不是非常熟悉,所以就打算继续进行扫盲,开始学习并且整理Jsp自定义标签的内容~我发现自己的学习之路有点儿像一则寓言:一个人本来准备做个桌子(具体是不是忘了,反正意思差不多),然后发现没有锯子,于是开始做锯子,做锯子的时候发现自己没有铁,于是开始铸铁,铸铁的时候,发现没有柴火,然后就去砍柴,终于把柴砍好了,最后却忘了最初要做啥了~当然,幸好我还记得我原本还需要做啥,这篇…
0 标签技术的API继承体系 1 作用 jsp自定义标签用于移除页面中的java代码 2 实现 2.1 标签处理类ViewIPTag.java package com.zsm.util; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; import…
一般情况下开发jsp自定义标签需要引用以下两个包 import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; 首先我们需要大致了解开发自定义标签所涉及到的接口与类的层次结构(其中SimpleTag接口与SimpleTagSupport类是JSP2.0中新引入的). 目标1:自定义一个用表格显示用户信息的简单标签 效果图: 在jsp页面使用此自定义标签: 假设我们有一个UserInfo的javabean,那么在JSP页面使用此标签只…
一.自定义标签的作用 自定义标签主要用于移除Jsp页面中的java代码. 二.自定义标签开发和使用 2.1.自定义标签开发步骤 1.编写一个实现Tag接口的Java类(标签处理器类) 1 package me.gacl.web.tag; 2 3 import java.io.IOException; 4 5 import javax.servlet.http.HttpServletRequest; 6 import javax.servlet.jsp.JspException; 7 import…
总所周知,JSP自定义标签库,主要是为了去掉JSP页面中的JAVA语句 此处以格式化输出时间戳为指定日期格式为例,简单介绍下JSP自定义标签的过程. 编写标签处理类(可继承自javax.servlet.jsp.tagext.TagSupport),主要重写方法doStartTag()即可. 创建TLD文件(在WEB-INF目录下创建). JSP页面中使用标签 1.编写标签处理类(继承自TagSupport.java ):FormatDate.java (类中实例变量 value, patter与…
jsp 自定义标签解决jsp页面中int时间戳的时间格式化问题 之前在项目中根据需求,需要自定义标签,经过查询w3c文档,自己也踩了一些坑,特此记录自定义标签的步骤,下面就以我之前的一个例子中的定义一个时间转换标签为例:github地址 1. 在项目中src中建一个com.xiangmuming.tags包,里面建一个类DateTag.java,内容为: 此类的内容参考地址,在引入的时候也可以参考此文章在web.xml中配置一下标签的路径,这里我没有配置这个. /** * 用于页面 jstl时间…
自定义标签的作用 *** 自定义标签的主要用于移除jsp页面中java代码 *** JSP页面中使用自定义的标签 使用jsp指令<% @taglib uri="标签库的uri" prefix="标签使用的前缀" %> 指令要引入使用的标签库. 自定义标签的执行流程 jsp引擎遇到自定义标签时,首先创建标签处理类的实例对象,然后按照JSP规范定义的通信规则依次调用它的方法. public void setPageContext(pageContext pc…
JSP自定义标签开发入门 一般情况下开发jsp自定义标签需要引用以下两个包 import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; 首先我们需要大致了解开发自定义标签所涉及到的接口与类的层次结构(其中SimpleTag接口与SimpleTagSupport类是JSP2.0中新引入的). 目标1:自定义一个用表格显示用户信息的简单标签 效果图: 在jsp页面使用此自定义标签: 假设我们有一个UserInfo的javabean,那…
一.自定义标签的作用 自定义标签主要用于移除Jsp页面中的java代码. 二.自定义标签开发和使用 2.1.自定义标签开发步骤 1.编写一个实现Tag接口的Java类(标签处理器类) 1 package me.gacl.web.tag; 2 3 import java.io.IOException; 4 5 import javax.servlet.http.HttpServletRequest; 6 import javax.servlet.jsp.JspException; 7 import…
1.实现Tag接口: TagSupport类实现了Tag接口,为我们提供了4个重要的方法(见表6-5). 1.1. TagSupport类中的常用方法           int doStartTag(): 遇到自定义标签开始时调用该方法, 其可选返回值如下. SKIP_BODY:表示不用处理标签体, 直接调用doEndTag()方法 EVAL_BODY_INCLUDE:正常执行 标签体,但不对标签体做任何处理 int doAfterBody(): 重复执行标签体内容的方法,其可选返回值如下.S…
1 自定义标签 1.1 引入 需求: 向浏览器输出当前客户的IP地址 (只能使用jsp标签) 1.2 第一个自定义标签开发步骤 1)编写一个普通的java类,继承SimpleTagSupport类,叫标签处理器类 /** * 标签处理器类 * @author APPle * 1)继承SimpleTagSupport * */ public class ShowIpTag extends SimpleTagSupport{ private JspContext context; /** * 传入p…
转载自:http://www.cnblogs.com/edwardlauxh/archive/2010/05/20/1918587.html tld标签的描述文件 标签的描述文件是一个描述整个标签库标记信息和标签库中每个标签处理器以及其属性的XML文档.可以包含如下的一些元素. 1. tlibversion:标签库版本号,是一个点式十进制数(例如1.0),最多为4组小数点分隔的数字组成. 2. jspversion:标签库所需的JSP规范最低版本,例如JSP1.1. 3. shortname:标…
一.JSP自定义标签 JSP自定义标签,可以通过实现Tag接口.继承TagSupport类来设置标签功能. 后续通过配置文件将标签和具体的实现类关联. 二.自定义第一个标签(实现Tag接口) 自定义标签需要先创建一个Java类,然后实现Tge接口或者继承S.....类 我们先来看实现接口这种方法自定义标签: 2.1创建Java类 HelloTag.java import java.io.IOException; import javax.servlet.jsp.JspException; imp…
在jsp中 如果不想页面中出现java代码 这个时候就需要使用到jsp的自定义标签库技术了 自定义标签库 能够有效的减少jsp中java代码的出现 使其更加自然的像html页面一样 如果要使用jsp自定义标签库技术顺着下列步骤做个demo就能理解个大概 首先在项目下WEB-INF下创建一个tld文件 用于说明这个自定义标签库 然后打开自己曾经导入过的jar包,并且保证该包在现行环境下能够使用 找到包中的WEB-INF文件可以看到一个c.tld文件 打开此文件 可以看到列如 <?xml versi…
学到了一个简单的jsp自定义标签,后面有更多的例子,会更新出来: 例子1: 步骤: 1.编写标签实现类: 继承javax.servlet.jsp.tagext.SimpleTagSupport; 重写doTag,实现在网页上输出: 2.在web-inf目录或其子目录下,建立helloword.tld文件,即自定义标签的说明文件 注意:标签处理类必须放在包中,不能是裸体类:不需要修改web.xml: //tld: tag lib description 标签库描述   java代码: packag…
jsp自定义标签的优势体现在于jsp页面上面减少了java代码. jsp自定义标签有三大部分组成,首先是类继承TagSupport,实现doStartTag方法. public int doStartTag() throws JspException { log.info("partsMgrService:" + partsMgrService); log.info("Log style: " + style); log.info("Log rowid:…
JSP自定义标签配置 JSP自定义标签 <taglib>         <taglib-uri>/WEB-INF/you.tld</taglib-uri>         <taglib-location>/WEB-INF/you.tld</taglib-location> </taglib> 由这个配置可知,JSP自定义标签配置文件不是放在lib目录下,也不是放在classes文件夹中,更不是放在WebRoot目录下,而是放在WE…
来至: http://blog.csdn.net/jiangwei0910410003/article/details/23915373 http://blog.csdn.net/jiangwei0910410003/article/details/23915373 -------------------------- jsp自定义标签 Tag文件版 实现一个与上篇文章类似的Select标签功能1.在WEB-INF/tags/select.tag <%@ tag body-content="…
这个困扰我一个晚上,仔细上网查阅发现,主要是因为jsp自定义标签要用到的这个jsp-api.jar的问题 这是我eclipes中的jar: 然而jsp-api.jar这个jar在tomcat中也有(报错的时候我用的是jsp-api-2.0.jar与我tomcat中的jar版本不符) 我推测是因为版本不一致导致,替换后还是存在问题 于是我清理重构项目-------->错误消失 如果还是存在问题---->建议你新建java类,把代码黏贴过去,因为,最开始继承TagSupport可能还是其他版本的…
ylbtech-JSP-Runoob:JSP 自定义标签 1.返回顶部 1. JSP 自定义标签 自定义标签是用户定义的JSP语言元素.当JSP页面包含一个自定义标签时将被转化为servlet,标签转化为对被 称为tag handler的对象的操作,即当servlet执行时Web container调用那些操作. JSP标签扩展可以让你创建新的标签并且可以直接插入到一个JSP页面. JSP 2.0规范中引入Simple Tag Handlers来编写这些自定义标记. 你可以继承SimpleTag…
Program:Jsp自定义标签,.tld文件的配置 1 <?xml version="1.0" encoding="UTF-8" ?> 2 3 <!DOCTYPE taglib 4 PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" 5 "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd&qu…
在sun官方文档上有下面这样一段话. 官方文档声明 public interface SimpleTag extends JspTag Interface for defining Simple Tag Handlers. Simple Tag Handlers differ from Classic Tag Handlers in that instead of supporting doStartTag() and doEndTag(), the SimpleTag interface pr…
自定义标签技术自sun公司发布以来,便一向很受欢迎!下面我就来谈一谈如何实现自定义标签,以及如何使用自定义标签. 如何实现自定义标签 首先我们应该知道原理,不管是标签还是JSP,本身实际上都会被JSP Complier翻译成Servlet,然后才会被执行.那么在Java这门面向对象的语言中,标签就应该是一个特殊的类.之所以说它特殊,仅仅是它出现的地方,以及实现的功能与我们平时见到的普通的类有些不一样罢了.我们完全可以将标签视为一个简单的java类.就是这样!下面我们就来看一看要怎么写出这样一个类…
原文链接 当jsp的内置标签和jstl标签库内的标签都满足不了需求,这时候就需要开发者自定义标签. 自定义标签 下面我们先来开发一个自定义标签,然后再说它的原理吧! 自定义标签的开发步骤 步骤一 编写一个普通的java类,继承TagSupport类~ package com.vmaxtam.dotest; import javax.servlet.jsp.tagext.TagSupport; public class MyTagTest extends TagSupport { } 步骤二 重写…
自定义标签的步骤 自定义标签的步骤大概有三步: 1.继承javax.servlet.jsp.tagext.*下提供的几个标签类,如Tag.TagSupport.BodyTagSupport.SimpleTagSupport(JSP2.0). 2.在tld文件中配置标签库信息,以及标签与实现类的映射. 3.在jsp文件中引用自定义标签. 标签API Tag接口 doEndTag():执行当前标签实例的结束标签.在doStartTag()执行后调用 doStartTag():执行当前标签实例的开始标…
在前一篇博客中,我们已经学习了自定义的简单标签的基本使用方法,这一篇我们来学习如何在简单标签中添加标签属性.对自定义标签添加一些属性,可以使我们的标签功能更加灵活和复用.例如前一篇博客使用简单标签来对标签体内容执行一定的次数,就无法在标签上规定要执行的次数,必须在标签处理器类中修改,很不方便,如果使用带属性的标签就能很好的解决这个问题. 要想使简单标签具有属性,通常需要满足以下两个步骤: ① 在标签处理器类中定义属性,同时为每个属性生成setter方法: ② 在TLD文件中对于的<tag>标签…
前面一篇博客介绍了自定义标签的传统标签使用方式,但是我们会发现,使用传统标签非常的麻烦,而且接口还多,现在传统标签基本都没用了,除了一些比较久的框架.Sun公司之后推出了一个新的标签使用方式,称之为简单标签.简单标签也作为JSP2.0以后的标准标签使用方式,下面是一张传统标签和简单标签的对比,可以看到简单标签真的简化了不少: 与传统标签的使用步骤是类似的,需要满足以下两个步骤: ① 编写一个实现SimpleTag接口(实际上我们更常的是继承SimpleTagSupport接口的实现类从而免于覆写…
同JSP标签一样,自定义标签主要用于移除JSP页面中的Java代码,可以看到我们在JSP中其实是禁止使用Java脚本的,任何要想通过Java代码实现的功能都必须以标签形式来处理,可以使用JSP标签,JSTL标签,EL函数,或者自定义标签. 自定义标签分为传统标签和简单标签,简单标签是Sun公司为减低自定义标签技术的学习难度而定义的,对于简单标签请看下一篇博客.本文先来学习传统自定义标签. 使用传统自定义标签需要满足以下两个步骤: ① 编写一个实现Tag接口(实际上我们更常的是继承Tag接口的实现…
tags: JSP 为什么要用到简单标签? 上一篇博客中我已经讲解了传统标签,想要开发自定义标签,大多数情况下都要重写doStartTag(),doAfterBody()和doEndTag()方法,并且还要知道SKIP_BODY,EVAL_BODY等等的变量代表着什么,在什么方法中使用.这样实在是太麻烦了! 因此,为了简化标签开发的复杂度,在JSP 2.0中定义了一个更为简单.便于编写和调用的SimpleTag接口来实现标签的功能.. 一般来说,实现了SimpeTag接口的标签称之为简单标签 S…