JSP中的EL表达式

 

一、JSP EL语言定义

E L(Expression Language)  目的:为了使JSP写起来更加简单,代码读起来整齐,获取数据的表达式。

二、JSP EL简介

1、语法结构
     ${expression},JSP中任何静态部分可以使用

2、[ ]与.运算符

     EL 提供“.“和“[ ]“两种运算符来获取数据,数据必须存储在四大域中。例如:

         <%pageContext.setAttribute(key,value)>  ${key}

     当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用“[ ]“,和“”。例如:

         ${user.My-Name}应当改为${user["My-Name"] }

     如果要动态取值时,就可以用“[ ]“来做,而“.“无法做到动态取值。例如:

         ${sessionScope.user[data]}中data 是一个变量

3、变量

EL获取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。
因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。
假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传null。

Page PageScope.变量/对象.属性当前页
request request.变量/对象.属性1次请求
session session.变量/对象.属性1次会话,浏览器关闭
aplication aplication.变量/对象.属性应用程序级别,服务器关闭

 

 

 

 

三、JSP EL 中的有效表达式

 

1、不会抛异常

  当表达式访问的对象为null的属性时候,不会抛出空指针异常,浏览器显示空白

  当数组下标越界的时候也不会抛越界异常

2、自动转换类型

<a href="xx.jsp?count=3">传值</a> ${param.count+20}  param相当于<% request.getParameter() > 其中param.count数据类型自动转换为整数型与20相加

<a href="xx.jsp?count=3&count=4">传值</a> ${paramValues.count[0]+20}  

3、运算符

算术运算符+ - * /(div) %(mod) 不支持(++ ——)
比较运算符<(lt) >(gt) ==(eq) <=(le) >=(ge) !=(ne) 
逻辑运算符&&(and) ||(or) !(not)
条件运算符${a>b?a:b}a和b取最大值需要*1转成整数型,否则比较字符串
特殊empty ${empty null} true 和false

 

 

 

 

4、EL可以访问 数组 List Map   

四、EL的内置对象(11个)

1、pageContext request session application param paramValues initParam(获取初始化参数,是在web.xml中定义的参数)等

转载于:https://www.cnblogs.com/wq1917/p/8284636.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值