JSP入门 taglib
自定义标签库(taglib),将原本需要写在jsp中的java代码封装起来,成为可复用的组件。
taglib的写法和jsp动作(action)很相似,是由taglib前缀,冒号,标签名三者的组合体。其中taglib前缀是用jsp指令(direction)定义的。
<%@ taglib uri="WEB-INF/tld/lingirl.tld" prefix="lingirl" %>
1.第一步,让ForTag继承BodyTagSupport。
BodyTagSupport专门用来制作带内容的taglib,它为我们提供了几个好用的方法来处理数据。
2.第二步,为ForTag设置两个自定义参数:var和items。
对应标签中的<lingirl:for var="contact" items="${list}">
3.第三步,让ForTag处理标签内容。
public int doStartTag() throws JspException {
this.index = 0;
if (this.process()) {
return EVAL_BODY_INCLUDE;
}
else
{
return EVAL_PAGE;
}
}
public int doAfterBody() {
if(this.process()) {
return EVAL_BODY_AGAIN;
}
else
{
return EVAL_PAGE;
}
}
为了实现循环,我们需要监听两个事件。
doStartTag()方法在标签开始时执行,要记住每次都要对类进行初始化,避免上一次的遗留数据对操作造成影响。然后判断是否
有数据需要处理,如果有,则返回EVAL_BODY_INCLUDE开始处理标签里的内容,如果没有,返回
EVAL_PAGE跳过标签内容执行标签下面的内容。
doAfterBody()方法在每次处理完标签内部内容后执行,判断循环是否已经结束,如果可以继续循环,返回
EVAL_BODY_AGAIN用循环得到新的数据再次处理标签内部内容,如果循环结束就返回
EVAL_PAGE结束标签。
第四步,进行循环时的处理
经过如此一番周折,ForTag可以从标签获得参数,并对数据进行循环处理了。
最后一步还要为它编写tld(taglibdefinition)标签库定义文件,提供给jsp指令(direction)引用。
sun就为标签库定义了一套标准,叫做jstl(java standard taglib)
java标准标签库,可以去http://jakarta.apache.org/taglibs/index.html下载apache实现的jstl
JSP入门 taglib的更多相关文章
- Jsp入门学习笔记
#Jsp入门 一.JSP基础语法 1.JSP指令: page inlcude taglib 2.JSP注释: a.html注释: <!-- abcdefghijklmn --> b.jsp ...
- JSP入门之自定义标签
第二部分简单讲解:主要讲解el表达式,核心标签库.本章主要讲解:自定义标签库:404页面,505页面,错误页面配置方法 全部代码下载:链接 1.JSP自定义标签: 自定义标签是用户定义的JSP语言元素 ...
- Jsp入门实战上
前面讲了servlet入门实践现在开始介绍jsp入门实践,开发环境的搭建请参考我前面的tomcat的文章,jsp入门教程分为上下两部分,第一部分简单讲解:jsp语法的规范,以及三大编译指令,七个动作指 ...
- JSP入门
JSP简介 所谓JSP就是在网页文件中嵌入Java代码或JSP定义的一些标记.JSP是建立在Servlet上的,在执行时JSP容器会先将JSP文件转换成Servlet文件以及class 文件,然后再执 ...
- JSP入门:介绍什么是JSP和Servlet(转)
转自:http://developer.51cto.com/art/200907/134506.htm JSP入门:什么是jsp? JSP(Java Server Pages)是由Sun Micros ...
- JSP入门必读
JSP基础知识:转自老师上课梳理的笔记,希望对大家有所帮助.有什么不妥当的地方还望大家批评指正. 特别适用于JSP入门的人员使用.1.JSP [1] 简介1.1 HTML HTML擅长显示一个静 ...
- 九、JSP入门(1)
JSP入门 1 JSP概述 1.1 什么是JSP JSP(Java Server Pages)是JavaWeb服务器端的动态资源.它与html页面的作用是相同的,显示数据和获取数据. 1.2 JSP的 ...
- day11(jsp入门&Cookie&HttpSession&一次性图片校验码)
day11 JSP入门 1 JSP概述 1.1 什么是JSP JSP(Java Server Pages)是JavaWeb服务器端的动态资源.它与html页面的作用是相同的,显示数据和获取数据. ...
- JSP入门基础知识详细版(通俗易懂)
JSP 第一篇: 概述.原理.周期.指令.行为.内置对象.JavaBean (一) JSP概述以及简单使用 什么是JSP? JSP全名为Java Server Pages,java服务器页面.JSP是 ...
随机推荐
- [知了堂学习笔记]_JSON数据操作第2讲(JSON的封装与解析)
上一讲为大家讲了什么是JSON,那么这一讲为大家带来了在WEB项目中JSON的用法,也就是JSON的封装与解析. 此图是数据库中的部分内容 一.JSON封装 所谓的JSON封装,指的是在Servlet ...
- 一篇文章读懂Java类加载器
Java类加载器算是一个老生常谈的问题,大多Java工程师也都对其中的知识点倒背如流,最近在看源码的时候发现有一些细节的地方理解还是比较模糊,正好写一篇文章梳理一下. 关于Java类加载器的知识,网上 ...
- for循环购物清单
//实现如图的购物清单 package ch06; import java.util.Scanner; /** * Created by liwenj on 2017/7/18. */ public ...
- javaScript手记(01)
--------------------javaScript基础1.嵌入页面的方式 1.行间事件(主要用于事件): <input type="button" name=&qu ...
- 【ASP.NET MVC】View与Controller之间传递数据
1 概述 本篇文章主要从操作上简要分析Controller<=>View之间相互传值,关于页面之间传值,如果感兴趣,可参考我另外一篇文章ASP.NET 页面之间传值的几种方式 . Co ...
- Linux的学习笔记_Day1
为什么要开始学习Linux命令? 首先当然是因为工作需要了,现在的工作是负责银行调度的系统的源系统接入的工作,经常要到生产部署版本.所以--买了一本<Linux命令行与shell脚本编程大全&g ...
- vue2+swiper(用户操作swiper后,不能autoplay了)
将autoplayDisableOnInteraction设置为false
- [js高手之路]Vue2.0基于vue-cli+webpack同级组件之间的通信教程
我们接着上文继续,本文我们讲解兄弟组件的通信,项目结构还是跟上文一样. 在src/assets目录下建立文件EventHandler.js,该文件的作用在于给同级组件之间传递事件 EventHandl ...
- [[NSBundle mainBundle] pathForResource:fileName ofType:]获取文件路径不成功
目标文件明明已经加入项目了,但是使用[[NSBundle mainBundle] pathForResource:fileName ofType:]来获取文件路径的时候却为nil: 遇到这个问题大家需 ...
- URL.createObjectURL() 与 URL.revokeObjectURL()
.URL.createObjectURL URL.createObjectURL()方法会根据传入的参数创建一个指向该参数对象的URL. 这个URL的生命仅存在于它被创建的这个文档里. 新的对象URL ...