EL表达式

EL  : 表达式语言(Expression Language),是JSP 2.0新增加的技术规范。

1. EL基本语法

${表达式}

EL表达式可以写在HTML和JSP标签体内,也可以写在标签属性值内。

(在包含EL表达式的JSP页面中,为了使JSP页面能够识别EL表达式,有时需要采用page指令启用EL表达式)如下:

<%@ page isELIgnored="false" %>

isELIgnored属性值为true时,表示当前JSP页面禁用EL表达式;

JSP 2.0中默认使用EL表达式。

EL表达式存取值的方法很简单,例如:${userName}是取出某一范围中名称为userName的变量值。如果没有指定哪一种范围的userName,会依次从page,request,session,application范围查找。假如找到了userName,就直接返回userName的值,不再继续找下去。如果全部范围都没有找到则返回null

变量存取范围:

⑴ pageScope:表示当前页面范围的变量

⑵ requestScope:表示一次请求范围的变量

⑶ sessionScope:表示一次会话范围内的变量

⑷ applicationScope: 表示应用范围的变量(application我的理解是服务器范围)

例如,在request中定义userName变量的值为 张三 ,EL获取userName的值如下:

   <%

   request.setAttribute("userName""张三");

   %>

${requestScope.userName}

 

2 EL表达式访问对象的属性及数组元素

EL表达式中提供“.”和“[]”两种运算符来存取数据,“[]”可以访问集合,数组的元素或者JavaBean的属性

例如:

${requestScope.User.userName}

${requestScope.User[userName]}

上述两者所代表的意思是一样的。

(注意:如果对象的属性名中出现了特殊字符,如“-”,“?”等,此时就必须使用“[]”) 比如:

${User.my-name}应改写为${user[my-name]}

 

3 EL表达式的隐含对象

EL表达式定义了一组隐含对象,能够方便的读取JSP环境中的数据,读取JSP作用范围变量,读取request请求报头数据,读取客户端表单或用户cookie数据等。

pageContext :JSP页面的上下文,可以用来访问JSP的隐式对象,如request,response,session,out等。例如${pageContex.session}

⑵ param : 将请求参数名称映射到单个字符串数值,${param.name}相当于通过调用JSP隐式对象request.getParameter(String name)

⑶ paramValues :将请求参数名称映射到一个数值数组,它和param隐式对象非常类似,但它返回的一个字符串数组而不是单个值,可以用来获取表单中的多个值,比如复选框的值。${paramValues.name}相当于request.getParameterValues(name)

cookie : 如果我们在cookie中设定一个名称为admin的值,那么可以使用${cookie.admin}来取得它。

还有headerheaderValues隐含对象,这两个对象包含请求参数头部信息的集合,header变量表示单一头部信息,headerValues则表示数组型的头部信息。最后是initParam隐含对象,通过它我们能够获得Web应用的环境参数(Context),例如在web.xml有如下设置:

  <context-param>

   <param-name>userName</param-name>

   <param-value>张三</param-value>

  </context-param>

那么我们就可以直接使用${initParam.userName}来获取名称为userName值为 张三 的参数

 

 

 

转载于:https://my.oschina.net/u/2601381/blog/678205

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值