当前位置:文档之家› J2EE 表示层JSP技术中的JSTL标签库及应用

J2EE 表示层JSP技术中的JSTL标签库及应用

JSTL标签的用法

JSTL标签的用法 JSP 标准标记库( Standard Tag Library , JSTL) 是一组以标准化格式实现许多通用的 Web 站点功能的定制标记。 JSP 技术的优势之一在于其定制标记库工具。除了核心 JSP 标记,如jsp:include 之外,定制标记库工具使您能够创建唯一的标记来描述以站点或应用程序为导向的操作。一旦您创建了定制标记库 ( 简称 taglib) ,当您扩展项目或转向另一个项目时您可以重复使用这些标记。您还可以将 taglib 传递给其它开发人员,从而他们可以在自己的网站上使用,或者在您 Web 应用程序的其它部分使用。 JSTL 的目标是为了简化 JSP 页面的设计。对于页面设计人员来说,使用脚本语言(默认值是 JAVA 语言)操作动态数据是比较困难的,而采用标签和表达式语言相对容易一些, JSTL 的使用为页面设计人员和程序开发人员的分工协作提供了便利。 一.配置 JSTL 包括两个 JAR 文件, jstl.jar 和 standard.jar 。是什么没有必要管,重在应用( 1+1 ? =2 ,我们没有必要深究,只需要知道这么用就行。)。 原文引入: <%@ taglib prefix="c" uri="https://www.doczj.com/doc/094610426.html,/jsp/jstl/core" %> <%@ taglib prefix="sql" uri="https://www.doczj.com/doc/094610426.html,/jsp/jstl/sql" %> <%@ taglib prefix="fmt" uri="https://www.doczj.com/doc/094610426.html,/jsp/jstl/fmt" %> 1.1版: <%@ taglib uri="https://www.doczj.com/doc/094610426.html,/jsp/jstl/core" prefix="c" %> 1.0版 <%@ taglib uri="https://www.doczj.com/doc/094610426.html,/jstl/core" prefix="c"%> 二. Core 标签库

JSTL,EL面试题

###1. 为什么要用自定义标签? ①Jsp中写代码比较混乱,难以维护 ②把一些重复的功能都抽取出来,方便复用。 ###2. 自定义标签分为几个步骤. 1.编写标签处理器类(SimpleTagSupport的实现类) 重写doTag() 2.编写标签库文件(WEB-INF/xxx.tld) 整个文件的定义: 标签的定义: 3.在jsp页面使用标签: 导入标签库(xxx.tld/) 使用标签 ###3. 自定义标签类要继承哪个类? SimpleTagSupport类 sim·ple tag s?'p?rt ###4. 怎么配置自定义标签的属性 在.tld文件标签中添加, 通过标签设定自定义标签的标签名。 ###5. 为什么要用EL表达式,有什么好处 1.在页面中用js脚本和jsp表达式来获取数据显示比较麻烦 a:需要条件判断 b:可能需要强转 2.好处是EL表达式简单易用,默认可访问所有的JSP隐藏对象。 ###6. EL表达式的语法是什么? 美元符号加大括号---> ${ EL表达式} ###7. EL有哪两种访问格式,有什么区别? EL 提供“.“和“[ ]“两种运算符来存取数据。 当要存取的属性名称中包含一些特殊字符,如. 或- 等并非字母或数字的符号,就一定要使用“[ ]“。例如:

${ user. My-Name}应当改为${user["My-Name"]} 如果要动态取值时,就可以用“[ ]“来做,而“.“无法做到动态取值。例如: ${https://www.doczj.com/doc/094610426.html,er[data]}中data 是一个变量。 ###8. EL表达式中有哪些隐藏对象,举几个例子? pageContext : JSP页面的上下文 param : 参数 paramValues : 参数值 header : 头信息 headerValues : 头的值 cookie : 缓存 initParam : 初始化参数 ###9. EL表达式中怎么样拿到request,session里面的值? 例: 可以通过它的隐藏对象RequestScope来获取到Request范围的属性名称所对应的值。 可以通过它的隐藏对象sessionScope来获取到session范围的属性名称所对应的值。###10. EL表达式怎么样拿到用户请求的参数? 可以用${https://www.doczj.com/doc/094610426.html,} 来获取用户请求的参数 ###11. EL表达式怎么样得到上下文路径? ${pageContext.request.contextPath} ###12. EL表达式怎么样拿到request? RequestScope ###13. JSTL全称是什么? java服务器页面标准标签库 (JavaServer Pages Standard Tag Library) ###14. JSTL是怎么使用的? 将jstl.jar、standard.jar 复制到Tomcat 的WEB-INF\lib 中. 若要在JSP 网页中使用JSTL 时,一定要先做下面这行声明: < %@ taglib prefix="c" uri="https://www.doczj.com/doc/094610426.html,/jsp/jstl/core" %>

JSTL标准标签库

一、JSTL简介 引入:在JSP以及javaBean中,当我们在网页中使用循环,或者使用对象方法连接数据库时,我们都不可避免的需要使用到jsp的脚本编制元素,其中嵌有大量的java代码,现在开发者想尽可能的避免使用jsp脚本编制元素,进一步将应用程序的显示层和业务层完全分离,更加有利于应用程序的分工协作,jsp开发者指定了 JSTL ,提供了一组统一的通用的自定义标签文件,并将这些文件组合在一起,形成了jsp标准标签库,即JSTL。 1) 定义:包含编写和开发JSP页面的一组标准标签 a) 特点:为开发者提供了一个无脚本环境,无需编写JAVA脚本 b) 包含 1. 核心标签库 2. SQL标签库 3. 国际化(I18N)与格式化标签库 4. XML标签库 c) 分类:两个版本 1. 使用 EL 2. 使用请求时表达式 2) 作用 a) 进一步简化开发,简化页面, 实现页面脱离jsp脚本元素 b) 让页面尽可能少的出现java代码 c) 优势:与EL表达式配合使用,可以用EL 代替属性值进一步动态改变 3) 使用 a) 导入标签库(Eclipse等工具中需要做这一步) b) 使用标签库中标签的实施步骤 i. 将JSTL对应的JAR文件:jstl.jar、standard.jar添加到应用程序的WEB-INF/lib目录(这两个jar文件见课件目录” JSTL标签库”) ii. 在编写的jsp页面中指定标签库的描述信息: 语法:<%@ taglib prefix=”c” uri=”https://www.doczj.com/doc/094610426.html,/jstl/core_rt” %> 关于上述语法使用的扩充: <%@ taglib prefix =”标签别名” uri =”标签库的位置“> 1. 标签别名常用c 2. 标签库的位置:(即uri的设置) a) 教材上:” https://www.doczj.com/doc/094610426.html,/jstl/core_rt“ 指向sun公司网站上的库文件地址,注意这里只是个地址指向,即使没有上网,在工具中也已经对应到工程中的路径了(注意:此时要先将标签库的两个jar文件放入”工程\WEB-INF\lib”目录下。) b) 也可使用:”/WEB-INF/c.tld ”(但要注意:此时要先将标签库两个jar文件中的一个standard.jar文件解压后的目录META-INF中的所有*.tld文件放入”工程名/WEB-INF/”目录下,即保证该目录下有c.tld文件) 注意:上述两种导入标签库的方式,以第一种为佳,即只需要将两个标签库jar文件放入”工程\WEB-INF\lib”目录下即可。 c) 在JSP中使用 3. 4. xxxxx就是标签库中提供的各种功能,详述如下: 二、核心标签库-----core 或 c.tld a) 分类:

C标签用法

JSTL标签用法 关键字:JSTL标签、 原来一直没有看过,我说过我是新手,但是好多资料上似乎也不重视JSTL 。我看项目源代码发现其中使用到了这个标签库,感觉其还真是方便,页面看起来更加清爽。减少了JA V A 程序员亲自写的代码量,还真验证了,不懒不做程序员,程序员如果写代码不想着偷懒,那么生活是很无趣的。 下面总结总结,学习学习。:) JSP 标准标记库(Standard Tag Library ,JSTL) 是一组以标准化格式实现许多通用的Web 站点功能的定制标记。 JSP 技术的优势之一在于其定制标记库工具。除了核心JSP 标记,如jsp:include 之外,定制标记库工具使您能够创建唯一的标记来描述以站点或应用程序为导向的操作。一旦您创建了定制标记库( 简称taglib) ,当您扩展项目或转向另一个项目时您可以重复使用这些标记。您还可以将taglib 传递给其它开发人员,从而他们可以在自己的网站上使用,或者在您Web 应用程序的其它部分使用。 JSTL 的目标是为了简化JSP 页面的设计。对于页面设计人员来说,使用脚本语言(默认值是JA V A 语言)操作动态数据是比较困难的,而采用标签和表达式语言相对容易一些,JSTL 的使用为页面设计人员和程序开发人员的分工协作提供了便利。 一.配置JSTL 包括两个JAR 文件,jstl.jar 和standard.jar 。是什么没有必要管,重在应用(1+1 ?=2 ,我们没有必要深究,只需要知道这么用就行。)。 原文引入: <%@ taglib prefix="c" uri="https://www.doczj.com/doc/094610426.html,/jsp/jstl/core" %> <%@ taglib prefix="sql" uri="https://www.doczj.com/doc/094610426.html,/jsp/jstl/sql" %> <%@ taglib prefix="fmt" uri="https://www.doczj.com/doc/094610426.html,/jsp/jstl/fmt" %>

jstl标签使用

JSTL主要提供了5大类标签库: 1. 核心标签库: 为日常任务提供通用支持,如显示和设置变量,重复使用一组项目,测试条件以及其他操作(如导入和重定向web页面等). 2. 国际化(I18N)标签库: 支持多种语言的引用程序. 3. SQL标签库: 对访问和修改数据库提供标准化支持. 4. XML标签库: 对XML文件处理和操作提供支持,包括XML节点的解析,迭代,基于XML数据的条件评估以及可扩展样式语言转换(Extensible Style Language Transformations , XSLT)的执行. 5. 函数标签库: 通过在EL表达式中调用函数标签库中的函数来实现特定的操作,例如: ${fn:contains(sring,substring)},其功能是判断string字符串中是否包含substring字符串. JSTL标签库使用方法: 标签库URI 前缀使用模式 核心标签库https://www.doczj.com/doc/094610426.html,/jstl/core c 国际化标签(I18N) https://www.doczj.com/doc/094610426.html,/jstl/fmt fmt SQL标签库https://www.doczj.com/doc/094610426.html,/jstl/sql sql XML标签库https://www.doczj.com/doc/094610426.html,/jstl/xml x 函数标签库https://www.doczj.com/doc/094610426.html,/jstl/functions fn 核心标签库 核心标签库包括:out , set , remove , catch , if , choose , when 和URL 等. 表达式操作标签: 包括:out , set , remove , catch. out标签: 核心标签库中最为基本的标签就是,他可以在页面中显示一个字符串或者一个EL表达式的值,其功能与JSP中的<%= 表达式%>类似 使用格式如下: 这个标签还可以有一个体,如下: defalut value 这表示当value属性指定的object值为null时,就会显示体中指定的值,也就是default value的值,体中也可以是jsp代码. 中各属性的说明如下: 1. value : 可以指定一个字符串作为输出内容,也可以指定为EL表达式,例如:${3+5}. 2. escapeXml : 类型为boolean , 确定, < , > , & , … , “ 等字符在结构的字符串中是否被转换成字符串实体代码,默认值是true(就是是否按html中的样式进行输出,设置true就是按照字符串原样进行输出,false就是按照html标识符进行输出) 3. default value : 可以是字符串,也可以是一个EL表达式或者jsp表达式,如果属性(value)指定的表达式或者对象为null,那么将输出这个defalut value部分的值. set标签: set标签用来在某个范围(request,session或者application)内设置值,或者设置某个对象的属性值. Set标签使用格式如下: 1. 使用value 属性在一个特定的范围内指定某个变量的值,其使用格式如下:

JSTL标签cforEach控制ul换行

前言: 在使用JSTL标签开发的时候经常会遇到ul和li控制,三个一行,两个一行,然后进行换行的问题。所以就有了此文。 注意: [html]view plain copy 1.varStatus 的初始取值是从1开始。跟普通的数组取值不同,要特别注意区分。 1.引入<%@ taglib uri="https://www.doczj.com/doc/094610426.html,/jsp/jstl/core" prefix="c" %> 2.后台传给前台list数据 3.前台进行遍历: [html]view plain copy 1. 2. 3.

jstl开发使用手册

YPL Jstl开发使用手册 李晓东 2009‐9‐3

Jstl介绍 (3) Core标签库 (4) 用于显示的 标签 (4) 用于赋值的 标签 (6) 用于删除的 标签 (9) 用于异常捕获的 标签 (9) 用于判断的 标签 (11) 用于复杂判断的 标签 (12) 用于循环的 标签 (14) 用于分隔字符的 标签 (16) 用于包含页面的 (17) 用于得到 URL 地址的 标签 (18) 用于页面重定向的 标签 (20) 用于包含传递参数的 标签 (21) Fmt标签库 (21) 用户语言环境 (22) 用于时区 (24) 用于日期标记 (25) 用于数字标记 (32) 用于消息标记 (38) Xml标签 (44) 分解 XML (45) 转换 XML (47) 处理 XML 内容 (51) sql 标签 (54) 建立数据源 (54) 提交查询和更新 (55) 事务处理 (60) Functions标签 (62) 长度函数 fn:length 函数 (63) 判断函数 fn:contains 函数 (64) 判断函数 fn:containsIgnoreCase (64) 词头判断函数 fn:startsWith 函数 (65) 词尾判断函数 fn:endsWith 函数 (65) 字符实体转换函数 fn:escapeXml 函数 (65) 字符匹配函数 fn:indexOf 函数 (66) 分隔符函数 fn:join 函数 (66) 替换函数 fn:replace 函数 (67) 分隔符转换数组函数 fn:split 函数 (68) 字符串截取函数 fn:substring 函数 (68) 起始到定位截取字符串函数 fn:substringBefore 函数 (69)

JSTL详解--标签库介绍

JSTL详解--Core 标签库 在JSTL1.1中有以下这些标签库是被支持的:Core标签库、XML processing标签库、I18N formatting标签库、Database access标签库、Functions标签库。对应的标识符见表2所示: 表2 标签库的标识符 标签库URI 前缀 Core https://www.doczj.com/doc/094610426.html,/jsp/jstl/ core c XML processing https://www.doczj.com/doc/094610426.html,/jsp/jstl/ xml x I18N formatting https://www.doczj.com/doc/094610426.html,/jsp/jstl/ fmt fmt Database access https://www.doczj.com/doc/094610426.html,/jsp/jstl/ sql sql Functions https://www.doczj.com/doc/094610426.html,/jsp/jstl/ functions fn 下面看例5,简单使用标签库的示例。 例5:简单JSTL标签库示例 <%@ page contentType="text/html; charset=UTF-8"%> <%@ taglib prefix="c" uri="https://www.doczj.com/doc/094610426.html,/jsp/jstl/core" %> ${i}


在该示例的JSP页面中声明了将使用Core标签库,它的URI为 “https://www.doczj.com/doc/094610426.html,/jsp/jstl/core”,前缀为“c”。之后,页面中标签就是使用了JSTL的标签进行了工作。对于该标签的功能,这里暂时不作具体讲解,只是让读者能够有个简单的概念,了解怎样定义和使用标签库。 Core标签库,又被称为核心标签库,该标签库的工作是对于JSP页面一般处理的封装。在该标签库中的标签一共有14个,被分为了四类,分别是: ?多用途核心标签:。 ?条件控制标签:。 ?循环控制标签:。 ?URL相关标签:。 以下是各个标签的用途和属性以及简单示例。 1. 用于显示的标签 标签是一个最常用的标签,用于在JSP中显示数据。它的属性和描述如表3所示: 表 3 标签属性和说明 属性描述 value 输出到页面的数据,可以是EL 表达式或常量(必须) default 当value 为null 时显示的数据(可选) escapeX ml 当设置为true 时会主动更换特殊字符,比如“ <,>,& ”(可选,默认为true ) 在JSTL1.0的时候,在页面显示数据必须使用来进行。然而,在JSTL1.1中,由于JSP2.0规范已经默认支持了EL表达式,因此可以直接在JSP页面使用表达式。下面看一个示例。

c标签

前言 从JSP 1.1规范开始,JSP就支持在JSP中使用自定义标签了,自定义标签的广泛使用造成了程序员重复定义,这样就促成了JSTL(JavaServer Pages Standard Tag Library)的诞生。 作者:杨通杆(https://www.doczj.com/doc/094610426.html,/yangtonggan/default.html) JSTL简介 JSTL是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。但是在即将推出的JSP 2.0中是作为标准支持的。 JSTL目前的最新版本为1.02,最终发布版为1.0。JSTL包含两个部分:标签库 Core支持JSP中的一些基本的操作; XML processing支持XML文档的处理; I18N capable formatting支持对JSP页面的国际化; Database access (SQL)支持JSP对数据库的操作。 让我先给你介绍c标签吧. 1. 库:Core(核心库) URI:https://www.doczj.com/doc/094610426.html,/jsp/jstl/core 前缀: c 描述:标签是一个最常用的标签,用于在JSP中显示数据。它的作用是用来替代通过JSP内置对象out或者<%=%>标签来输出对象的值。

语法: 没有Body时的语法 有Body时的语法 这里是Body部分 属性: Null和错误说明 假若value为null,会显示default 的值;假若没有设定default的值,则会显示一个空的字符串。 实例: ------------------------------------------------------------------------------------------------------------------------------------------ Example1

标准标签库JSTL大全

标准标签库JSTL JSTL简介: 标准标签库JSTL的全名为:Java Server Pages Standard Tag Library. JSTL主要提供了5大类标签库: 1. 核心标签库: 为日常任务提供通用支持,如显示和设置变量,重复使用一组项目,测试条件以及其他操作(如导入和重定向web页面等). 2. 国际化(I18N)标签库: 支持多种语言的引用程序. 3. SQL标签库: 对访问和修改数据库提供标准化支持. 4. XML标签库: 对XML文件处理和操作提供支持,包括XML节点的解析,迭代,基于XML数据的条件评估以及可扩展样式语言转换(Extensible Style Language Transformations , XSLT)的执行. 5. 函数标签库: 通过在EL表达式中调用函数标签库中的函数来实现特定的操作,例如: ${fn:contains(sring,substring)},其功能是判断string字符串中是否包含substring字符串. JSTL标签库使用方法: 标签库URI 前缀使用模式 核心标签库https://www.doczj.com/doc/094610426.html,/jstl/core c 国际化标签(I18N) https://www.doczj.com/doc/094610426.html,/jstl/fmt fmt SQL标签库https://www.doczj.com/doc/094610426.html,/jstl/sql sql XML标签库https://www.doczj.com/doc/094610426.html,/jstl/xml x 函数标签库https://www.doczj.com/doc/094610426.html,/jstl/functions fn 核心标签库 核心标签库包括:out , set , remove , catch , if , choose , when 和 URL 等.

JSTL标签核心标签库

花费一个小时的时间,掌握一门技术。虽然在此只对核心标签库进行解析然而:一般的开发已可应付、对于初学者来说更是绰绰有余。 JavaServer Pages Standard Tag Library (JSTL ),它的中文名称为JSP 标准标签函数库。JSTL 是个标准的已制定好的标签库,可以应用于各种领域,如:基本输入输出、流程控制、循环、XML文件剖析、数据库查询及国际化和文字格式标准化的应用等。从下可以知道,JSTL提供的标签函数库主要分为五大类: (1 )核心标签库(Core tag library) (2 )I18N 格式标签库(I18N-capable formatting tag library) (3 )SQL 标签库(SQL tag library) (4 )XML 标签库(XML tag library) (5 )函数标签库(Functions tag library) JSTL 前置名称URI 范例 核心标签库 c https://www.doczj.com/doc/094610426.html,/jsp/jstl/core I18格式标签库fmt https://www.doczj.com/doc/094610426.html,/jsp/jstl/xml SQL 标签库sql https://www.doczj.com/doc/094610426.html,/jsp/jstl/sql XML标签库xml https://www.doczj.com/doc/094610426.html,/jsp/jstl/fmt 函数标签库fn https://www.doczj.com/doc/094610426.html,/jsp/jstl/functions 可知:JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out、set、remove、catch 2.流程控制标签:if、choose、when、otherwise 3.循环标签:forEach、forTokens 4.URL操作标签:import、url、redirect 使用标签时,一定要在jsp文件头加入以下代码: %@taglib prefix="c" uri="https://www.doczj.com/doc/094610426.html,/jsp/jstl/core" % 注:如果URI为:https://www.doczj.com/doc/094610426.html,/jstl/core则会使用到JSTL1.0的标签(JSTL1.1与1.0的差别读者可以网上搜索;另,URI和URL的知识也可以一起温故) 1、表达式操作(4个标签): 1、1: 显示数据的内容 语法1 :没有本体(body) 内容 语法2 :有本体内容 default value 注:表格中的EL字段,表示此属性的值是否可以为EL表达式,例如:Y 表示attribute = "${表达式}" 为符合语法的,N 则反之。 例子:

标准标签库STL基本用法文档

标准标签库JSTL基本用法 标准标签是JSP提供的库文件,所以在使用之前需要将库文件的jar包导入到工程中去,导入方法如下: 选择1.1版本,导入之后,在工程的lib中添加了两个jar包—jstl.jar和standerd.jar,如下图: 我们所用到的标准标签的class文件就在这里面。 同时,在web-inf中也添加了很多tld文件,来配置后台处理类

打开c.tld配置文件,比较它和我们以前自定义的tld配置文件的内容是否一样。 注意:在使用标签之前一定要声明taglib指令: <%@ taglib uri="https://www.doczj.com/doc/094610426.html,/jsp/jstl/core" prefix="c"%> 其中uri在标准标签的c.tld(standerd.jar)中有定义。 ?基本标签c:out 的用法 –作用 ?使用JspWriter输出字符串、变量、JavaBean属性值 –用法举例 ?输出一个字符串,或者变量的值 – ?输出一个变量,先在request中共享一个变量name: <% request.setAttribute("name","amaker"); request.setAttribute("user",u); %> – ?输出一个JavaBean的属性 1)写一个JavaBean:User,生成get set方法

2)在声明中要import包,或者usebean <%@ page language="java" import="java.util.*,com.amaker.bean.*" pageEncoding="gbk"%> 3)创建User对象 <% User u = new User(); u.setId(1); u.setName("tom"); request.setAttribute("user",u); %> 4)声明taglib指令 <%@ taglib uri="https://www.doczj.com/doc/094610426.html,/jsp/jstl/core" prefix="c"%> 5)在页面上输出一个JavaBean的值

输出一个Java Bean 属性


?基本标签c:set 的用法 –作用 ?在某个作用域中设置变量或JavaBean的属性值 –用法举例 ?使用value 设置特定范围内变量的值

使用Value设置变量的值

?使用body设置特定范围内变量的值

使用body设置变量的值

19 ?设置对象的属性,使用target、property、value

给JavaBean赋值

?指定范围内设定变量的值,并在不同的位置取这个变量,观察什么时候能取到这个变量(JSP共享变量的四个作用域:page request session application) (1)在各个作用域中共享变量

实验四:EL表达式和JSTL标签库的使用

实验四:EL表达式和JSTL标签库的使用 一、实验的目的 (1)掌握EL表达式的使用。 (2)掌握JSTL标签库的使用。 二、实验内容与要求 (1)学习EL表达式的原理和使用。 (2)了解JSTL标签库的原理及使用。 (3)EL实例的调试。 (4)JSTL实例的调试。 三、实验主要步骤 1. EL表达式实例程序的调试 (1)源代码 <%@ page language="java" import=".*" pageEncoding="GBK"%> <%@ taglib uri="" prefix="c"%> (1)源代码 <%@ taglib uri="" prefix="c" %> JSTL日期格式案例

JSTL日期格式标记


full格式日期:
long格式日期:
medium格式日期:

jstl函数

JSTL简介 JSTL是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。但是在即将推出的JSP 2.0中是作为标准支持的。JSTL目前的最新版本为1.02,最终发布版为1.0。JSTL包含两个部分:标签库和EL(Expression Language 表达式语言)语言。标签库目前支持四种标签: Core支持JSP中的一些基本的操作; XML processing支持XML文档的处理; I18N capable formatting支持对JSP页面的国际化; Database access (SQL)支持JSP对数据库的操作。 由于本人水平有限,本文仅介绍Core标签,如有兴趣,可一起探讨其它三种标签的使用与扩充。 EL语言介绍 EL语言是JSTL输出(输入)一个JAVA表达式的表示形式。 在JSTL中,EL语言只能在属性值中使用。EL语言只能通过建立表达式${exp1}来进行调用。在属性值中使用表达式有三种方式。 1、value属性包含一个表达式 在这种情况下,表达式值被计算出来并根据类型转换规则赋值给value属性。比如:中的${username}就是一个EL,它相当于JSP语句 <%=request.getAttribute(“username”)%>或<%=session.getAttribute(“username”)%> 2、value属性包含一个或多个属性,这些属性被文本分割或围绕 在这种情况下,表达式从左到右进行计算,并将结果转换为字符串型(根据类型转换规则),并将结果赋值给value属性 3、value属性仅仅包含文本 在这种情况下,字符串型属性value将根据类型转换规则转换为标签所希望的类型。 EL语言的操作符 取得某个对象或集合中的属性值

第十一章 表达式语言EL和标准标签库JSTL

本章目标 ●熟悉EL的基本用法 ●熟悉JSTL的常用标记 ●能编写简单的自定义标签 本章考核 ●用JSTL和EL实现MVC的查询分页功能 ●用自定义标签实现分页工具条 知识点1:EL Expression Language 以${起始、以}结尾,例如${https://www.doczj.com/doc/094610426.html,er.sex} EL语法比传统jsp语法简洁,方便1.1、.和[]运算符 ${https://www.doczj.com/doc/094610426.html,er.sex}和${https://www.doczj.com/doc/094610426.html,er["sex"]} 可以混合使用 在以下两种情况下,这两种表示方法是有差异的 ●当属性名称中存在特殊字符,如.或者-就要使用[] 例如:${https://www.doczj.com/doc/094610426.html,er["my-name"]} ●如果动态取值,例如${https://www.doczj.com/doc/094610426.html,er[data]} 此时data是个变量 1.2、EL变量${变量名} 变量自动搜索顺序 属性范围在EL中的隐含对象名称 Page pageScope Request requestScope Session sessionScope Application applicationScope 1.3、自动类型转换 ${param.count+20} 等价于 String strCount = request.getParameter("count"); int count = Integer.parseInt(strCount); count = count+20; 1.4、EL保留字 【and、or、no、instanceof 】【eq、ne、lt、empty 】【gt、le、ge、div】【true、false、null、mod】 1.5、EL隐含对象 pageContext、pageScope、requestScope、sessionScope、applicationScope、 Param【request.getParameter】、paramValues、header、headerValues、cookie、initParam【ServletContext.getInitParameter】${pageContext}的常用部分 ${pageContext.request.queryString} 请求参数字符串 ${pageContext.request.requestUrl} 取得请求的URL ${pageContext.request.contextPath} 取得web应用的名称 ${pageContext.request.method} 取得请求方式post、get ${pageContext.request.protocol} 请求的Http协议(HTTP/1.1 HTTP/1.0) ${pageContext.request.remoteUser} 取得用户名称 ${pageContext.request.remoteAddr} 取得用户的ip地址 ${pageContext.session.new} 判断session是否为新的 ${pageContext.session.id} 取得session的id ${https://www.doczj.com/doc/094610426.html,ername} ${param.sex} 兴趣 ${s}
用户名:张三 性别:男 兴趣:旅游、阅读、影视学历:高中 1.6、EL算术运算符+ - * /或div %或mod 1.7、EL关系运算符==或eq 、!=或ne、<或lt、>或gt、<=或le、>=或ge 1.8、EL逻辑运算符&&或and ||或or !或not 1.9、EL其他运算符empty判断是否为空${empty https://www.doczj.com/doc/094610426.html,ername} ${A?B:C} ${empty param.pcode?1:param.pcode} ()优先权 1.10、EL自定义函数 知识点2:JSTL javaServet Pages Standard Tag Library主要提供给javaweb开发人员一个标准通用的标签函数库 ●Web程序开发人员能够利用JSTL和EL来开发Web程序,取代传统直接在页面上嵌入java程序代码段的做法,以提高程序可读性、维护性和方便性 ●JSTL五大标签函数库 1、核心标签库 2、L18N格式标签库

标准标签库的应用实例

JSTL标签库大全 2010-05-19 11:05:54| 分类:JSP|字号大中小订阅 https://www.doczj.com/doc/094610426.html,/blog/static/22868328200921810384692/ https://www.doczj.com/doc/094610426.html,/blog/136760 标准标签库JSTL JSP 2009-03-18 10:38:46 阅读212 评论0 字号:大中小订阅 JSTL简介: 标准标签库JSTL的全名为:Java Server Pages Standard Tag Library. JSTL主要提供了5大类标签库: 1.核心标签库: 为日常任务提供通用支持,如显示和设置变量,重复使用一组项目, 测试条件以及其他操作(如导入和重定向web页面等). 2.国际化(I18N)标签库: 支持多种语言的引用程序. 3.SQL标签库: 对访问和修改数据库提供标准化支持. 4.XML标签库: 对XML文件处理和操作提供支持,包括XML节点的解析,迭代,基 于XML数据的条件评估以及可扩展样式语言转换(Extensible Style Language Transformations , XSLT)的执行. 5.函数标签库: 通过在EL表达式中调用函数标签库中的函数来实现特定的操作, 例如: ${fn:contains(sring,substring)},其功能是判断string字符串中是否包含substring 字符串.

JSTL标签库使用方法: 标签库URI 前缀使用模式 核心标签库https://www.doczj.com/doc/094610426.html,/jstl/core c 国际化标签(I18N) https://www.doczj.com/doc/094610426.html,/jstl/fmt fmt SQL标签库https://www.doczj.com/doc/094610426.html,/jstl/sql sql XML标签库https://www.doczj.com/doc/094610426.html,/jstl/xml x 函数标签库https://www.doczj.com/doc/094610426.html,/jstl/functions fn 核心标签库 核心标签库包括:out , set , remove , catch , if , choose , when 和URL 等. 表达式操作标签: 包括:out , set , remove , catch. out标签: 核心标签库中最为基本的标签就是,他可以在页面中显示一个字符串或者一个EL表达式的值,其功能与JSP中的<%= 表达式%>类似 使用格式如下: 这个标签还可以有一个体,如下: defalut value

相关主题
文本预览
相关文档 最新文档