EL表达式

EL 表达式语法如下:

${EL表达式}

EL 表达式语法以${开头,以}结束,中间为合法的表达式。

示例

${param.name} 表示获取参数 name 的值,它等同于 <%=request.getParameter('name') %>。从形式和语法上可以看出,EL 表达式简化了 JSP 原有的表达式。在实际开发中,EL 表达式也是经常使用的方式。

EL 表达式定义了许多运算符,如算术运算符、比较运算符、逻辑运算符等,使用这些运算符,可以使 JSP 页面更加简洁。

L算术运算符

算术运算符用来进行加、减、乘、除和求余,EL 表达式算术运算符如下:
 

EL算术运算符
EL算术运算符说明范例结果
+${5+2}7
-${5-2}3
*${5*2}10
/ 或 div${5/2}2
% 或 mod求余${5%2}1


注意:EL 的+运算符与 Java 的+运算符不一样,它无法实现两个字符串的连接运算。如果该运算符连接的两个值不能转换为数值型的字符串,则会拋出异常;反之,EL 会自动将这两个字符转换为数值型数据,再进行运算。

EL 表达式中还可以使用 ( ) 改变优先级,例如:${2+3*2} 等于 8,${(2+3)*2} 等于 10。

EL比较运算符

比较运算符用来实现两个表达式的比较,进行比较的表达式可以是数值型或字符串。EL 表达式比较运算符如下:
 

EL比较运算符
EL比较运算符说明范例结果
== 或 eq等于${6==6} 或 ${6 eq 6}
${"A"="a"} 或 ${"A" eq "a"}
true
false
!= 或 ne不等于${6!=6} 或 ${6 ne 6}
${“A"!=“a”} 或 ${“A” ne “a”}
false
true
< 或 lt小于${3<8} 或 ${3 lt 8}
${"A"<"a"} 或 ${"A" lt "a"}
true
true
> 或 gt大于${3>8} 或 ${3 gt 8}
${"A">"a"} 或 ${"A" gt "a"}
false
false
<= 或 le小于等于${3<=8} 或 ${3 le 8}
${"A"<="a"} 或 ${"A" le "a"}
true
true
>= 或 ge大于等于${3>=8} 或 ${3 ge 8}
${"A">="a"} 或 ${"A" ge "a"}
false
false

EL逻辑运算符

逻辑运算符两边的表达式必须是布尔型(Boolean)变量,其返回结果也是布尔型(Boolean)。EL 表达式逻辑运算符如下:
 

EL逻辑运算符
EL逻辑运算符说明范例结果
&& 或 and${2>1&&3<4 } 或 ${2>1and3<4 }true
|| 或 or${2<1||3>4} 或 ${2<1or3>4}false
! 或 not${!(2>4)} 或 ${not (2>4)}true

运算符演示如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="net.biancheng.*,java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<title>编程帮(www.biancheng.net)</title>
</head>
<body>
    <h4>.运算符</h4>
    <%
        Site site = new Site();
        site.setName("编程帮");
        site.setUrl("www.biancheng.net");
        session.setAttribute("site", site);
    %>
    欢迎来到${site.name},我们的网址是:${site.url}

    <h4>[]运算符</h4>
    <%
        List tutorials = new ArrayList();
        tutorials.add("Java");
        tutorials.add("Python");
        session.setAttribute("tutorials", tutorials);
        HashMap siteMap = new HashMap();
        siteMap.put("one", "编程帮");
        siteMap.put("two", "C语言中文网");
        session.setAttribute("site", siteMap);
    %>
    tutorials 中的内容:${tutorials[0]},${tutorials[1]}
    <br> siteMap 中的内容:${site.one},${site.two}

    <h4>empty和条件运算符</h4>
    <!-- 当 cart 变量为空时,输出购物车为空,否则输出cart -->
    <%
        String cart = null;
    %>
    ${empty cart?"购物车为空":cart}

</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值