JSP——EL表达式

EL表达式的引入可以通过表达是语言简化数据存取的代码,EL提供了很多运算符、内置对象、存取器等

一.EL运算符

1.算术运算符

+ :        加        ${1+1}  
- :        减        ${1-1}
* :        乘        ${1*2}
/ :        除        ${3/2}
% :       取余       ${3%2}

2.关系运算符

==或eq        等 于        ${1==1}
!=或ne        不等于       ${1!=1}
<或lt         小 于        ${1<2}
>或gt         大 于        ${1>2}
<=或le        小于等于      ${1<=2}
>=或ge        大于等于      ${1>=2}   

3.逻辑运算符

&&或and        交集        ${A&&B}
||或or         并集        ${A||B}
!或not${!A}
? :           条件运算符    ${A?B:C}

4.验证运算符

${empty param.username}
//验证username是否为空,是null,返回true

二.EL内置对象

  1. .和[ ]运算符
${applicationScope.user,userName}
//等价于
${applicationScope.user["userName"]}

2.和存储有关的内置对象
(1)applicationScope获取application范围属性值
(2)sessionScope获取session范围。。。
(3)requestScope获取request。。。
(4)pageScope获取page。。。

3.有关输入的内置对象

param和pareamValues获取用户请求参数:
${param.username}
${paramValues.interest[0]}
//参数只有一个值用param,多个值用paramValues

4.cookie内置对象
EL没有cookie设定的操作,设定都由后端完成,只能通过cookie对象设置cookie中的值

<%
      //创建cookie
    Cookie c = new Cookie("username", "root");
    //设置cookie到客户端
    response.addCookie(c);
%>
//取得cookie的值:
${cookie.username.value}

5.header内置对象
header存储用户浏览器和服务器用来沟通的数据,用header和headerValues来取得这些值

${header["host"]}
${header["user-agent"]}   //取得浏览器版本

6.initParam内置对象
可以获取web站点中设置的环境参数值,包含初始化参数的Map

//jsp中
${iniParam.username}
//web.xml下配置:
<context-param>
    <param-name>username</param-name>
    <param-valie>James</param-value>
</context-param>
//程序返回James

7.pageContext内置对象
用来取得有关用户请求和页面的详细信息

${pageContext.request.queryString}
//取得请求的参数字符串
${pageContext.request.requestURL}
//取得请求URL
${pageContext.request.method}
//取得HTTP的请求方式
${pageContext.request.protocol}
//取得使用的协议
${pageContext.request.remoteAddr}
//取得用户IP地址

//当在浏览器中输入相应信息才能取得参数!!

三.EL存取器

1.读取JavaBean中的数据

//jsp1:
<%
    //设置JavaBean属性在session中
    session.setAttribute("person", person);

%>
//jsp2
//取得session中的javaBean属性值
${sessionScope.person.name}

2.读取Map中的数据
如果属性范围内存储的属性是一个图Map,只需指定读取的Map和kay就可得到value

//jsp1:
<%
    HashMap userInfo = new HashMap();
    userInfo.put("username", "James");
    session.setAttribute("userInfo",userInfo);
%>
//jsp2:
${userInfo.username}
//采用${Map名.属性名}的方式读取James

3.读取数组时:

${names[0]}
//${数组名[下标]}就可以读取值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值