文档章节

JSP EL表达式使用

李茂冉
 李茂冉
发布于 2016/05/14 13:26
字数 434
阅读 60
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

##1.EL全名为Expression Language

out.print(str)	<%=str%>	${str}

例子: Hi! <%=username%> 和 Hi! ${username}是一样的

只要是支持servlet2.4/jsp2.0的Container就都可以在jsp网页中直接使用el

EL如今已经是一项成熟,标准的技术

##2.EL语法:

${sessionScope.user.sex}

意思:从session的范围中,取得用户的性别

所有EL都是以${为起始、以}为结尾的。

##3.EL提供.和[]两种运算符来存取数据。

${sessionScope.user.sex} = ${sessionScope.user["sex"]}

.和[]可以同时使用:%{sessionScope.shoppingCart[0].price}

##4.EL隐含对象

jsp中有9个隐含对象,EL有11个隐含对象

常用的El隐含对象:

  • pageScope 取得Page范围的属性名称所对应的值

  • requestScope 取得request范围的属性名称所对应的值

  • sessionScope 取得session范围的属性名称所对应的值

  • applicationScope 取得application范围的属性名称所对应的值

  • param 如同ServletRequest.getParameter(String name)、回传String类型的值

  • cookie 如同HttpServletRequest.getCookies()

  • initParam 如同ServletContext.getInitParameter(String name)

不常用的EL对象:

  • pageContext 表示此jsp的PageContext
  • paramValue 如同ServletRequest.getParameterValues(String name),回传String[]类型的值

##算术运算符

  • + 加 ${ 17 + 5 } 22
  • - 减 ${ 17 - 5 } 12
  • * 乘 ${ 17 * 5 } 85
  • /或div 除 ${ 17 / 5 } 3
  • %或mod 余数 ${ 17 % 5 } 2

##关系运算符

  • ==或eq 等于 ${ 5 == 5 } true
  • !=或ne 不等于 ${ 5 != 5 } false
  • <或lt 小于 ${ 3 < 5 } true
  • &gh;或gt 大于 ${ 3 > 5 } false
  • <=或le 小于等于 ${ 3 <= 5 } true
  • >=或ge 大于等于 ${ 3 >= 5 } false

###注意:

在使用EL关系运算符时,不能写成: ${param.p1} == ${param.p2} 或者${%{param.p1} == ${param.p2} } 而应写成: ${param.p1 == param.p2}

##逻辑运算符

&&或and 交集 ${ A && B} true/false ||或or 并集 ${ A || B} true/false !或not 非 ${ !A } true/false

##注意:EL可以和常量混用,但是要注意表达式是不行的

上一篇: Servlet监听器
下一篇: C#数据绑定
李茂冉
粉丝 6
博文 103
码字总数 59256
作品 0
东城
高级程序员
私信 提问
加载中
请先登录后再评论。
访问安全控制解决方案

本文是《轻量级 Java Web 框架架构设计》的系列博文。 今天想和大家简单的分享一下,在 Smart 中是如何做到访问安全控制的。也就是说,当没有登录或 Session 过期时所做的操作,会自动退回到...

黄勇
2013/11/03
3.5K
6
CDH5: 使用parcels配置lzo

一、Parcel 部署步骤 1 下载: 首先需要下载 Parcel。下载完成后,Parcel 将驻留在 Cloudera Manager 主机的本地目录中。 2 分配: Parcel 下载后,将分配到群集中的所有主机上并解压缩。 3 激...

cloud-coder
2014/07/01
6.8K
1
mvc框架--Razor

Razor 是一个轻巧而优雅的servlet mvc框架 # 又一个轮子? no,写就她是为了证实我个人的某些想法,并在这个过程中练练手,这两种冲动碰撞在一起,自然而然地产生了Razor # Razor的现在和未来...

dtubest
2013/01/25
3.1K
0
Swing界面分析和调试工具--Swing Inspector

Swing Inspector是一个Java Swing/AWT用户界面分析和调试工具,功能与firebug类似,具有强大的Swing/AWT用户界面分析和调试相关功能。 适用于从java swing初级到高级的所有开发人员,能够快速...

匿名
2013/03/06
3.4K
0
开源数据访问组件--Smark.Data

Smark.Data是基于Ado.net实现的数据访问组件,提供基于强类型的查询表达式进行灵活的数据查询,统计,修改和删除等操作;采用基于条件驱动的操作模式,使数据操作更简单轻松;内部通过标准SQL...

泥水佬
2013/03/12
2.6K
0

没有更多内容

加载失败,请刷新页面

加载更多

Azure Application Gateway(一)对后端 Web App 进行负载均衡

一,引言   今天,我们学习一个新的知识点-----Azure Application Gateway,通过Azure 应用程序网关为我么后端的服务提供负载均衡的功能。我们再文章头中大概先了解一下什么是应用程序网关...

osc_lc4icfkt
7分钟前
0
0
WoLai(我来) 注册码 ——国内版 notion 【笔记】

注册码: SQGYG23 ❤ W4T9PKP JLTHNJP KMTXK7P JDHKJEM KRJXX5P 6M7PPAP DEGLMG3 N3BZMRI 87BR22I GSIWGWP GNGBNTI QA8URIM UDUV9VM IHKJA7P MD9ZA3M 3XR67ZI TBUP9JX TI4TYMM 注册完了可以把......

osc_c05lkk3u
8分钟前
4
0
2020hdu多校第二场比赛及补题

这一场我们队只A了一题 1010 Lead of Wisdom 直接爆搜,但是T了好几发,剪了下枝 如果一个物品的a,b,c,d都比不上另外一个同种物品的a,b,c,d,那这个物品就可以直接淘汰掉了 #include<iostrea...

osc_usgpahnw
9分钟前
13
0
为什么Java有瞬态字段? - Why does Java have transient fields?

问题: 为什么Java有瞬态字段? 解决方案: 参考一: https://stackoom.com/question/3opS/为什么Java有瞬态字段 参考二: https://oldbug.net/q/3opS/Why-does-Java-have-transient-fields...

富含淀粉
9分钟前
0
0
轻松搭建CAS 5.x系列(6)-在CAS Server上增加OAuth2.0协议

概述说明 CAS Server默认搭建出来,客户端程序只能按照CAS自身的协议接入。CAS的强大在于,有官方的插件,可以支持其他的协议。本章节就让CAS Server怎么增加OAuth2.0的登录协议。 安装步骤 ...

osc_inj0cicw
11分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部