一、引用JSTL
1、 JSTL的引入可以让JSP代码中等代码消失掉,再结合EL表达式,会更加方便以及美观。
2、 各套框架(还没有学习,比如struts,SpringMVC等)都有自己的标签库,这时JSTL可以作为公共、通用的,横行于各框架中。
操作:
第一步:下载JSTL包
第二步,新建一个jsp页面
JSTl基本应用:
1.核心标签库:包括基本的语言功能,变量操作,流程控制等等。
2.国际化和格式化标签库:进行国际化操作和格式化操作,例如格式化时间等等。
3.SQL标签库:主要用于对关系型数据库的存储操作。
4.XML标签库:主要用于对xml格式数据的操作。
5.函数标签库:主要定义对字符串操作的函数库,在EL表达式中运行。
在上述五种标签库中,常用的有核心标签库、格式化标签库和函数标签库,在下面的内容中我们将一 一给大家讲解。
二、核心标签库
1.多用途核心标签
1.1用于显示的
标签是一个最常用的标签,用于在JSP中显示数据。
NewFile.jsp代码如下:
JSTL Hello World!运行结果:
1.2用于赋值的标签
标签用于为变量或Javabean中的变量属性赋值的工作。
NewFile.jsp代码如下:
Insert title here${oneString}//该示例将名为"oneString"的变量赋值为"this is andy",其中作用范围为page。
运行结果:
1.3用于删除的标签
标签用于删除存在于scope中的变量。
NewFile.jsp代码如下:
Insert title here${sessionScope.sampleValue}//该示例将存在于Session中名为"sampleValue"的变量删除。下一句EL表达式显示该变量时,该变量已经不存在。
1.4异常捕获的标签
标签允许在jsp也面中捕获异常。它包含一个var属性,是一个描述异常的变量。
NewFile.jsp代码如下:
Insert title here${param.sampleSingleValue[9]==3}${err}//当"${param.sampleSingValue[9]==3}"表达式有异常时,可以从var属性"err"得到异常的内容,通常判断"err"是否为null来决定错误信息的提示。
运行结果:
2.条件控制标签
2.1用于判断的标签
标签用于简单的条件语句。
下面看一个示例:
Insert title hereIt is12
${visits}
//判断request请求提交的传入控件数组参数中,下标为“2”的控件内容是否为“12”,若为12则
//显示“It is 12”。判断结果保存在page范围中的“visits”变量中。
2.2复杂的判断、、标签
这三个标签实现复杂条件判断语句,类似“if,elseif”的条件语句。
1.标签没有属性,可以被认为是父标签,、
将作为其子标签来使用。
2.标签等价于“if”语句,它包含一个test属性,该属性表示需要判断的条件。
3.标签没有属性,它等价于“else”语句。
下面看一个复杂条件语句的示例:
Insert title herenot12 not 13,it is 11
not11 not 13,it is 12
not11 not 12,it is 13
not11、12、13
//判断request请求提交的传入控件数组参数中,下标为“2”控件内容是否为“11”或“12”或“13”,并根据判断结果显示各自的语句,若都不是则显示“not 11、12、13”
运行结果:
2.3检索一个绝对或相对 URL,然后将其内容暴露给页面
标签提供了所有行为标签所具有的功能,同时也允许包含绝对URL。
举例来说,使用标签可以包含一个FTP服务器中不同的网页内容。
语法格式:
"var=""scope=""varRender=""context=""charEncoding=""/>
的属性:
下面来看示例:
c:import 标签实例3.循环控制标签
3.1循环标签
基础迭代标签,接受多种集合类型为循环控制标签。
标签有如下属性:
语法格式:
items=""begin=""end=""step=""var=""varStatus="">...
示例:
c:forEach 标签实例Item
运行结果:
Item 1Item2Item3Item4Item5
3.2分隔字符的标签
标签可以根据某个分隔符指定字符串,相当于Java.util.StirngTokenizer类。
标签与标签有相似的属性,不过还有另一个属性:
属性
描述
是否必要
默认值
delims
分隔符
是
无
语法格式:
items=""delims=""begin=""end=""step=""var=""varStatus="">
示例:
c:forTokens 标签实例运行结果:
runoob
taobao
未完待续......