JSP详解--EL表达式

什么是EL表达式?

EL表达式的全称是Expression Language(直译:表达式语言),目的是简化JSP获取JavaBean和属性。EL表达式的基本语法是“${ exp }”.

简单的用法

当我们获取JavaBean中的属性时:

    <jsp:useBean id="person" class="com.zhong.Person" scope="request">
      <jsp:setProperty name="name" property="xiaoming">jsp:setProperty>
      <jsp:setProperty name="age" property="18">jsp:setProperty>
    jsp:useBean>

我们要获取person的name属性,常规写法:

name="person" property="name"/>

通过EL表达式获取:

${requestScope.person.name}

是不是简便了很多,下面介绍EL表达式中的基础操作符:

操作符 描述
. 访问一个Bean属性或者一个映射条目 requestScope.person.name
[] 访问一个数组或者链表的元素 requestScope.person[‘account’]
+
-
*
() 改变优先级和组织一个语句
/ or div
% or mod 取余
== or eq 是否相等
!= 是否不想等
< or lt 是否小于
> or gt 是否大于
>= or ge 是否大于等于
<= or le 是否小于等于
&& or and 逻辑与
|| or or 逻辑或
! or not 取反
empty 是否为空

获取JSP隐藏对象

类别 表示法 描述 实例
请求参数 param 包含所有参数的Map。可以回去参数(返回String) ${param.person},${param[‘person’]}
请求参数 paramValues 包含所有参数的Map。可以回去参数的数组(返回String[]) ${paramValues.persons[1]} 返回persons数组的第一个对象
头信息 header 包含所有头信息的Map。可以获取头信息(返回String) ${header.host}获取头信息中的host
头信息 headersValues 包含所有头信息的Map。可以获取头信息(返回String[]) ${headersValues}返回所有的header信息
Cookie cookie 包含所有的Cookie的Map,key为Cookie的name属性 ${cookie.name}获取cookie的属性
初始化参数 initParam 包含所有的初始化参数的Map。 ${initParam.encoding}获取初始化编码
作用域 pageScope 包含page作用域内变量的Map ${pageScope.person.name}获取pageScope范围内的person对象的name属性
作用域 requestScope 包含requestScope 作用域内变量的Map ${requestScope.person.name }获取requestScope 范围内的person对象的name属性
作用域 sessionScope 包含sessionScope作用域内变量的Map ${sessionScope .person.name }获取sessionScope范围内的person对象的name属性
作用域 applicationScope 包含applicationScope作用域内变量的Map ${applicationScope .person.name }获取applicationScope范围内的person对象的name属性
pageContext 包含页面的变量的Map,包含request,respose,page,application,config等所有隐藏对象 ${oageContext.request.person}返回request范围内的person对象

你可能感兴趣的:(Servlet)