JSP自定义标签——传统标签】的更多相关文章

同JSP标签一样,自定义标签主要用于移除JSP页面中的Java代码,可以看到我们在JSP中其实是禁止使用Java脚本的,任何要想通过Java代码实现的功能都必须以标签形式来处理,可以使用JSP标签,JSTL标签,EL函数,或者自定义标签. 自定义标签分为传统标签和简单标签,简单标签是Sun公司为减低自定义标签技术的学习难度而定义的,对于简单标签请看下一篇博客.本文先来学习传统自定义标签. 使用传统自定义标签需要满足以下两个步骤: ① 编写一个实现Tag接口(实际上我们更常的是继承Tag接口的实现…
卧槽 我们可以通过tld文件,自定义一个方法标签,以便在页面中使用,目录通常放在WEB-INF下面的tlds文件夹: 引入方式示例,直接在jsp上引入tld标签文件: <%@ taglib prefix="fns" uri="/WEB-INF/tlds/fns.tld" %> fns.tld中的写法: <?xml version="1.0" encoding="UTF-8" ?> <taglib…
第七天的课程主要是讲了自定义标签.简单介绍了mvc设计模式.然后做了案例 1. 自定义标签 1.1 为什么要有自定义标签 前面所说的EL.JSTL等技术都是为了提高jsp的可读性.可维护性.方便性而取代在jsp页面中直接嵌入java代码的方式(el和jstl的实质也是一段Java代码,只是可以用他们来代替),但是在实际开发过程中业务非常的复杂,现有的el和jstl根本满足不了需求,所有得根据实际需求开发自己的标签,自定义标签应运而生. 1.2 自定义标签分类(传统标签和简单标签) 自定义标签分为…
1 自定义标签 1.1 引入 需求: 向浏览器输出当前客户的IP地址 (只能使用jsp标签) 1.2 第一个自定义标签开发步骤 1)编写一个普通的java类,继承SimpleTagSupport类,叫标签处理器类 /** * 标签处理器类 * @author APPle * 1)继承SimpleTagSupport * */ public class ShowIpTag extends SimpleTagSupport{ private JspContext context; /** * 传入p…
为什么要使用自定义标签? JSTL标签库只提供了简单的输出等功能,没有实现任何的HTML代码封装,并且某些复杂类型转换,或者逻辑处理的时候,JSTL标签库完成不了,需要自定义标签! 编写自定义标签的步骤: 编写一个实现Tag接口的Java类[标签处理器类] 在WEB-INF目录下创建tld(Tag Library Descriptor)文件,在tld文件中对标签处理类(实现Tag接口的Java类)进行描述 快速入门 目标:使用标签输出客户机的IP地址! 按照步骤来:首先编写一个实现Tag接口的J…
1.标签技术的API类继承关系 1).JspTag接口是所有自定义标签的父接口 该接口中没有任何属性和方法,只有两个直接子接口,Tag接口和SimpleTag接口,把实现Tag接口的自定义标签叫做传统标签,把实现SimpleTag接口的自定义标签叫做简单标签 2).Tag接口,所有传统标签的父接口,两个重要方法(doStartTag.doEndTag)和四个常量(EVAL_BODY_INCLUDE.SKIP_BODY.EVAL_PAGE.SKIP_PAGE) WEB容器在解释执行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…
一.标签技术的API 1.1.标签技术的API类继承关系 二.标签API简单介绍 2.1.JspTag接口 JspTag接口是所有自定义标签的父接口,它是JSP2.0中新定义的一个标记接口,没有任何属性和方法.JspTag接口有Tag和SimpleTag两个直接子接口,JSP2.0以前的版本中只有Tag接口,所以把实现Tag接口的自定义标签也叫做传统标签,把实现SimpleTag接口的自定义标签叫做简单标签. 2.2.Tag接口 Tag接口是所有传统标签的父接口,其中定义了两个重要方法(doSt…
一.传统标签 (1)JSP引擎将遇到自定义标签时,首先创建标签处理器类的实例对象,然后按照JSP规范定义的通信规则依次调用它的方法. public void setPageContext(PageContext pc), JSP引擎实例化标签处理器后,将调用setPageContext方法将JSP页面的pageContext对象传递给标签处理器,标签处理器以后可以通过这个pageContext对象与JSP页面进行通信. public void setParent(Tag t),setPageCo…
前面一篇博客介绍了自定义标签的传统标签使用方式,但是我们会发现,使用传统标签非常的麻烦,而且接口还多,现在传统标签基本都没用了,除了一些比较久的框架.Sun公司之后推出了一个新的标签使用方式,称之为简单标签.简单标签也作为JSP2.0以后的标准标签使用方式,下面是一张传统标签和简单标签的对比,可以看到简单标签真的简化了不少: 与传统标签的使用步骤是类似的,需要满足以下两个步骤: ① 编写一个实现SimpleTag接口(实际上我们更常的是继承SimpleTagSupport接口的实现类从而免于覆写…
tags: JSP 为什么要用到简单标签? 上一篇博客中我已经讲解了传统标签,想要开发自定义标签,大多数情况下都要重写doStartTag(),doAfterBody()和doEndTag()方法,并且还要知道SKIP_BODY,EVAL_BODY等等的变量代表着什么,在什么方法中使用.这样实在是太麻烦了! 因此,为了简化标签开发的复杂度,在JSP 2.0中定义了一个更为简单.便于编写和调用的SimpleTag接口来实现标签的功能.. 一般来说,实现了SimpeTag接口的标签称之为简单标签 S…
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> ​ <!-- 引入标签库: prefix是必须含有的不可缺少 -->     <%@ taglib uri="/ssgao" prefix="ssgao" %> ​ <!DOCTYPE html…
一.标签技术的API 1.1.标签技术的API类继承关系 二.标签API简单介绍 2.1.JspTag接口 JspTag接口是所有自定义标签的父接口,它是JSP2.0中新定义的一个标记接口,没有任何属性和方法.JspTag接口有Tag和SimpleTag两个直接子接口,JSP2.0以前的版本中只有Tag接口,所以把实现Tag接口的自定义标签也叫做传统标签,把实现SimpleTag接口的自定义标签叫做简单标签. 2.2.Tag接口 Tag接口是所有传统标签的父接口,其中定义了两个重要方法(doSt…
Jsp中不要有一行Java代码, 需要的Java代码都要封到自定义标签中. 自定义标签的作用: a.  自定义标签除了可以移除jsp页面java代码外,它也可以实现以上功能. b.  控制jsp页面某一部分内容是否执行.例如 权限部分 c.  控制整个jsp页面是否执行. d.  控制jsp页面内容重复执行. e.  修改j页面内容输出.   简单使用示例: 1.编写一个实现tag接口的标签处理器类 (java类)继承TagSupport 复写需要的方法即可 public class ViewI…
一.自定义标签简介 1.自定义标签主要用于移除Jsp页面中的java代码,jsp禁止出现一行java脚本. 2.使用自定义标签移除jsp页面中的java代码,只需要完成以下两个步骤: •编写一个实现Tag接口的Java类(标签处理器类). •编写标签库描述符(tld)文件,在tld文件中对标签处理器类进行描述. 3.快速入门:使用标签输出客户机IP //java类 public class ViewPortTag extends TagSupport{ @Override public int…
一.认识标签 1,说明:传统标签编程在开发中基本用不到,学习标签编程主要还是为了完善知识体系. 2,标签的主要作用:移除或减少jsp中的java代码 3,标签的主要组成部分及运行原理 4,简单标签示例:继承javax.servlet.jsp.tagext.TagSupport 标签开发步骤 4.1编写一个继承TagSupport(或实现Tag接口)的类 package com.chen.ying; import java.io.IOException; import javax.servlet.…
原文链接 当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():执行当前标签实例的开始标…
虽然和上一次的使用自定义的tld标签简化jsp的繁琐操作的有点不同,但是目的也是一致的.自定义tag比较简单. 1.新建tag标签 在WEB-INF目录下新建一个tags的文件夹,是自定义tag标签的位置. 2.编辑标签 <%@ tag import="org.apache.shiro.util.StringUtils"%> <%@ tag import="org.apache.shiro.SecurityUtils" %> <%@ t…
有这样一个业务需求: 当我们在编辑某个用户时,需要设置该用户的角色,在转到编辑页面时,就需要自动勾选上该用户已经选择的角色,如下图: 当我们点击编辑时,会查询用户详细信息,以及角色集合传到编辑页面. 用<c:forEach> 标签将所有角色显示出来,那如何勾选该用户已经选择的角色呢,角色是一个集合,用户选择的角色也是一个角色,在遍历角色集合时,还需要查询用户的角色集合中是否有该角色... 以前使用过js,也可以使用<%java code%>,但都不是很方便,而且<%%>…
一般情况下开发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自定义标签,后面有更多的例子,会更新出来: 例子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:…
1.标签 以类似于html标签的方式实现的java代码的封装. 第一:形成了开发标签的技术标准---自定义标签的技术标准. 第二:java标准标签库(sun之前自己开发的一系列的标签的集合)jstl,以及表达式语言EL.   2.自定义标签 (1)理解: 可以允许用户自己根据自己的需要,去开发自己的标签的技术规范. 通俗:在Jsp页面上,以简单的标签封装java代码的操作. //在自定义标签类中,先调用setPageContext()实例化内置对象: //然后是doStartTag()方法,核心…
总所周知,JSP自定义标签库,主要是为了去掉JSP页面中的JAVA语句 此处以格式化输出时间戳为指定日期格式为例,简单介绍下JSP自定义标签的过程. 编写标签处理类(可继承自javax.servlet.jsp.tagext.TagSupport),主要重写方法doStartTag()即可. 创建TLD文件(在WEB-INF目录下创建). JSP页面中使用标签 1.编写标签处理类(继承自TagSupport.java ):FormatDate.java (类中实例变量 value, patter与…
在前一篇博客中,我们已经学习了自定义的简单标签的基本使用方法,这一篇我们来学习如何在简单标签中添加标签属性.对自定义标签添加一些属性,可以使我们的标签功能更加灵活和复用.例如前一篇博客使用简单标签来对标签体内容执行一定的次数,就无法在标签上规定要执行的次数,必须在标签处理器类中修改,很不方便,如果使用带属性的标签就能很好的解决这个问题. 要想使简单标签具有属性,通常需要满足以下两个步骤: ① 在标签处理器类中定义属性,同时为每个属性生成setter方法: ② 在TLD文件中对于的<tag>标签…
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…
在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类.就是这样!下面我们就来看一看要怎么写出这样一个类…