版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第18章
EL与JSTL主要内容ELJSTLJava
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)18.1 表达式语言ELEL是JSP2.0规范中增加的,它的基本语法为:${表达式}EL表达式类似于JSP表达式<%=表达式%>,EL语句中的表达式值会被直接送到浏览器显示。Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)18.1.1
基本语法(1)获取JavaBean的属性值假设在JSP页面中有这样一句话:<%=user.getAge
()%>那么,可以使用EL获取user对象的属性age,代码如下:${user.age}或${user["age"]}Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)(2)获取数组中的元素假设在Controller或Servlet中有这样一段话:String
dogs[]
=
{"lili","huahua","guoguo"};request.setAttribute("array",
dogs);那么,在对应视图JSP中可以使用EL取出数组中的元素(也可以使用18.2节的JSTL遍历数组),代码如下:${array[0]}${array[1]}${array[2]}Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)(3)获取集合对象中的元素假设在Controller或Servlet中有这样一段话:ArrayList<UserBean>users=new
ArrayList<UserBean>();UserBean
ub1=new
UserBean("zhang",20);UserBean
ub2
=
new
UserBean("zhao",50);users.add(ub1);users.add(ub2);request.setAttribute("array",
users);其中,UserBean有两个属性:name和age,那么在对应视图JSP页面中可以使用EL取出UserBean中的属性(也可以使用18.2节的
JSTL遍历数组),代码如下:${array[0].name}${array[1].name}${array[0].age}${array[1].age}Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)2.算术运算符算术运算符说明示例结
果+加${13+2}15-减${13-2}11*乘${13*2}26/(或div)除${13/2}或${13
div
2}6.5%(或mod)取模(求余)${13%2}或${13
mod
2}1Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)3.关系运算符关系运算符说明示例结果==(或eq)等于${13${13=eq=2}或
2}false!=(或ne)不等于${13${13!=ne2}或2}true<(或lt)小于${13${13<2}或lt
2}false>(或gt)大于${13${13>2}或gt
2}true<=(或le)小于等于${13${13<=2}或le
2}false>=(或ge)大于等于${13${13>=2}或ge
2}trueJava
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)4.逻辑运算符逻辑运算符说明示例结果&&(或and)逻辑与如果A为true,B为false,则A
&&
B(或A
and
B)false||(或or)逻辑或如果A为true,B为false,则A
||
B(或A
or
B)true!(或not)逻辑非如果A为true,则!A(或not
A)falseJava
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)empty运算符empty运算符用于检测一个值是否为null,例如,变量A不存在,则${empty
A}返回的结果为true。条件运算符EL中的条件运算符是“?:”,例如,${A?B:C},如果A为true,计算B并返回其结果,如果A为false,计算C并返回其结果。Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)18.1.2
EL隐含对象EL隐含对象共有11个,在本书中只是介绍几个常用的EL隐含对象:pageScope、requestScope、sessionScope、applicationScope、param以及paramValues。Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)1.与作用范围相关的隐含对象与作用范围有关的EL隐含对象有:pageScope、requestScope、sessionScope和applicationScope,分别可以获取JSP隐含对象pageContext、request、session和application中的数据。如果在EL中没有使用隐含对象指定作用范围,则会依次从
page、request、session、application范围查找,找到就直接返回,不再继续找下去,如果所有范围都没有找到,就返回空字符串。获取数据的格式如下:${EL隐含对象.关键字对象.属性}或${EL隐含对象.关键字对象}Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)2.与请求参数相关的隐含对象与请求参数相关的EL隐含对象有param和paramValues。获取数据的格式如下:${EL隐含对象.参数名}Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)18.2
JSP标准标签库JSTLJSTL规范由Sun公司制定,Apache的Jakarta小组负责实现。JSTL标准标签库由5个不同功能的标签库组成,包括Core、I18N、XML、SQL以及Functions,本节只是简要介绍了JSTL的Core和Functions标签库中几个常用的标签。Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)18.2.1 配置JSTL1.复制JSTL的标准实现在Tomcat的\webapps\examples\WEB-INF\lib目录下,找到“taglibs-standard-impl-1.2.5.jar”和“taglibs-standard-spec-1.2.5.jar”文件,然后复制到Web工程的WEB-INF\lib目录下。2.使用taglib标记定义前缀与uri引用如果使用Core标签库,首先需要在JSP页面中使用taglib标记定义前缀与uri引用,代码如下:<%@
taglib
prefix="c"
uri="/jsp/jstl/core"%>如果使用Functions标签库,首先需要在JSP页面中使用taglib标记定义前缀与uri引用,代码如下:<%@
taglib
prefix="fn"uri="/jsp/jstl/functions"%>Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)18.2.2
核心标签库之通用标签1.<c:out>标签<c:out>用来显示数据的内容,与<%=表达式%>或${表达式}类似。格式如下:<c:out
value="输出的内容"[default="defaultValue"]/>或<c:out
value="输出的内容">defaultValue</c:out>其中,value值可以是一个EL表达式,也可以是一个字符串;default可有可无,当value值不存在时,就输出defaultValue。Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)2.<c:set>标签1、设置作用域变量可以使用<c:set>在page、request、session、application等范围内设置一个变量。格式如下:<c:set
value="value"
var="varName"[scope="page|request|session|application"]/>2、设置JavaBean的属性使用<c:set>设置JavaBean的属性时,必须使用target属性进行设置。格式如下:<c:set
value="value"
target="target"property=“propertyName"/>Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)3.<c:remove>标签如果要删除某个变量,则可以使用<c:remove>标签。例如:<c:remove
var="userName"scope="session"/>相当于<%session.removeAttribute("userName")
%>Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)18.2.3
核心标签库之流程控制标签1.<c:if>标签<c:if>标签实现if语句的作用,具体语法格式如下:<c:iftest="条件表达式">主体内容</c:if>其中,条件表达式可以是EL表达式,也可以是JSP表达式。如果表达式的值为true,则会执行<c:if>的主体内容,但是没有相对应的<c:else>标签。如果想在条件成立时执行一块内容,不成立时执行另一块内容,则可以使用<c:choose>、<c:when>及<c:otherwise>标签。Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)2.<c:choose>、<c:when>及<c:otherwise>标签<c:choose>、<c:when>及<c:otherwise>标签实现if/elseif/else语句的作用。具体语法格式如下:<c:choose><c:when
test="条件表达式1">主体内容1</c:when><c:when
test="条件表达式2">主体内容2</c:when><c:otherwise>表达式都不正确时,执行的主体内容</c:otherwise></c:choose>Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)18.2.4
核心标签库之迭代标签1.<c:forEach>标签<c:forEach>标签可以实现程序中的for循环。语法格式如下:<c:forEach
var="变量名"items="数组或Collection对象">循环体</c:forEach>其中,items属性可以是数组或Collection对象,每次循环读取对象中的一个元素,并赋值给var属性指定的变量,之后就可以在循环体使用var指定的变量获取对象的元素。Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)2.<c:forTokens>标签<c:forTokens>用于迭代字符串中由分隔符分隔的各成员,它是通过java.util.StringTokenizer实例来完成字符串的分隔,属性items和delims作为构造StringTokenizer实例的参数。语法格式如下:<c:forTokens
var="变量名"items="要迭代的String对象"delims="指定分隔字符串的分隔符">循环体</c:forTokens>Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)18.2.5
函数标签库在JSP页面中,调用JSTL中的函数时,需要使用EL表达式,调用语法格式如下:${fn:函数名(参数1,参数2,…)}Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)1.contains函数该函数功能是判断一个字符串中是否包含指定的子字符串。如果包含,则返回true,否则返回false。其定义如下:contains(string,substring)该函数调用示例代码如下:${fn:contains("I
am
studying","am")}上述EL表达式将返回true。Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)2.containsIgnoreCase函数该函数与contains函数功能相似,但判断是不区分大写的。其定义如下:containsIgnoreCase(string,substring)该函数调用示例代码如下:${fn:containsIgnoreCase("I
AM
studying",
"am")
}Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)3.endsWith函数该函数功能是判断一个字符串是否以指定的后缀结尾。其定义如下:endsWith(string,suffix)该函数调用示例代码如下:${fn:endsWith("I
AM
studying",
"am")
}Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)4.indexOf函数该函数功能是返回指定子字符串在某个字符串中第一次出现时的索引,找不到时,将返回-1。其定义如下:indexOf(string,substring)该函数调用示例代码如下:${fn:indexOf("I
am
studying",
"am")
}Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)5.join函数该函数功能是将一个String数组中的所有元素合并成一个字符串,并用指定的分隔符分开。其定义如下:join(array,
separator)例如,假设一个String数组my,它有3个元素:“I”、
“am”和“studying”,那么,下列EL表达式:${fn:join(my,
",")
}Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)6.length函数该函数功能是返回集合中元素的个数,或者字符串中的字符个数。其定义如下:length(input)该函数调用示例代码如下:${fn:length("aaa")}Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)7.replace函数该函数功能是将字符串中出现的所有beforestring用afterstring替换,并返回替换后的结果。其定义如下:replace(string,beforestring,afterstring)该函数调用示例代码如下:${fn:replace("I
am
am
studying",
"am",
"do")
}Java
EE框架整合开发入门到实战——Spring+Spring
MVC+MyBatis(微课版)8.split函数该函数功能是将一个字符串,使用指定的分隔符separator分离成一个子字符串数组。其定义如下:split(string,separator)该函数调用示例代码如下:<c:set
var="my"
value="${fn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地名-布局B-精简-随机版
- 2026年数字藏品合规化 文旅数字纪念品开发实践
- 急救技能大赛理论知识题库及答案
- 统编本小学语文综合性学习编写特征及教学策略
- 2026应急管理普法知识竞赛题库及答案
- 国家助学贷款及助学金全部题目答案
- 2026年国学知识竞赛中国古代文学知识竞赛题库及答案
- 《中华人民共和国传染病防治法》等法律法规培训考核题附答案
- 主井天轮、罐笼更换安全措施培训
- 加油站系统防雷设计全方案:规范·技术·实践
- 2025年海南三沙市事业单位公开招聘笔试试卷(含完整答案解析)
- 江苏盐城东台市2026年专职网格员招聘考试试卷-含答案解析
- 浙江省杭州市富阳区共同体学校2026-2027学年六上数学期末调研模拟试题含解析
- 2026年公务员遴选本土实务笔试习题及答案
- 2026年1月浙江省选考物理试题(纯答案版)
- 译林版三年级英语下册Unit2 Clean our classroom作业单
- 东方枢纽集团笔试题答案
- 中国平安IQ测评题库
- 食物与能量的转换
- 中级护士聘任申请书范文
- 2025年大学《精神医学-儿童少年精神病学》考试参考题库及答案解析
评论
0/150
提交评论