JSP中的EL表达式

什么是EL表达式?
EL表达式是一套简单的计算规则,用于给jsp标签的属性赋值,也可以直接输出。
EL表达式也可以脱离标签单独使用。

EL表达式的作用
1.访问符合JAVABean规范的类的属性
2.输出简单的运算结果
3.获取请求参数值

JAVABean
通常情况下的JAVABean指的是:
一个公共的类
含有一个空参构造方法
所有属性必须是私有的且提供get/set方法,方法名使用驼峰命名法

EL表达式的两种运用方式
方法一:${对象名.属性名}

<%
//User类是一个符合javabean规范的类,设置完属性后将其绑定到request中
    User user1 = new User();
    user1.setId(1);
    user1.setName("link");
    request.setAttribute("user1",user1);
%>
userid:${user1.id}
username:${user1.name}<br/>

执行过程:容器会依次从 pageContext,requset,session,application中查找绑定名为”user1”的对象,找到后调用对应的属性方法输出,其等价于:

<%
    User user1 =(User)request.getAttribute("user1");
    out.print(user1.getName());
%>

但EL表达式除了比上面代码简洁外,还避免了查找不到对象或对象值为null的异常

方法二:${ 对象名[“属性名”]}
方括号中的属性名可以使用单引号或双引号

userid:${user2["id"]}
username:${user2["name"]}

此种方式允许[]中出现绑定名,还可以允许[] 中出现从0开始的下标,用于访问数组中的某个元素的值

<%
 session.setAttribute("user2id","id");
%>
userid:${user2[user2id]}
username:${user2["name"]}

相当于表达式中写一个变量

指定对象的查找范围
在编写EL表达式时,可以制定查找对应绑定名对象的范围
如,在session中查找绑定名为user1对象时,可以编写如下代码 :
${sessionScope.user1.username}
或将sessionScope替换为pageScope,requestScope,applicationScope。但注意,一旦指定的查找范围,那么在该范围中没有找到指定的绑定对象事,不会再去其他的区域查找!

使用EL表达式进行运算
EL表达式可以做一些简单的计算,可将结果直接输出或给jsp标签赋值
算术运算符:+ - * / % ,注意,+只能求和不能用来连接字符串
sum: user1.id+user2[user2id]sum: {“100” + “200”}

逻辑运算:&& || !
bool:${1>0 && 2<3}

关系运算:> < >= <= == !=
bool:${1>2}

empty:用来判断一个字符串或一个集合是否为空,以下四种情况结果为true:空字符串,空集合,值为null,找不到对应的值
bool:${empty user1.name}

使用EL表达式获取请求参数值
${param.userid}
等价于
request.getParameter(“userid”);

${paramValues.city}
等价于
request.getParameterValues(“city”);

这里讲述的都是EL的基础使用,如有意见欢迎评论

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值