Web项目(十八)EL表达式(一)

什么是EL表达式?

EL(Expression Language)表达式是一种简化JSP页面内Java代码的表达式语言。它借鉴了JavaScript和XPath的表达式语言,提供了在JSP中简化表达式的方法,目的是为了尽量减少JSP页面中的Java代码,使得JSP页面的处理程序编写起来更加简洁,便于开发和维护。

EL表达式的语法非常简单,所有EL表达式的格式都是以“${}”表示。在JSP中访问模型对象是通过EL表达式的语法来表达的,这意味着从域对象中获取数据,然后将数据展示在页面上。不过,需要注意的是,EL表达式只能读取数据,不能修改数据,并且不能在Java代码块中定义。

此外,EL表达式的自动转类型和四大域读取数据的特性也使得它在处理动态网页时非常方便。当四大域内中有相同属性名时,EL表达式会从最小范围的域依次往最大域查找,找到相关内容后将会停止查找,并显示查找到的第一条数据。

结论:
EL 表达式主要是代替 jsp 页面中的表达式脚本在 jsp 页面中进行数据的输出,并简化jsp页面语句。

表达式格式:

  • EL 表达式的格式是:${表达式}
  • EL 表达式在输出 null 值的时候,输出的是空串。
  • jsp 表达式脚本输出 null 值的时候,输出的是 null 字符串(如果要输出空串,需要进行三元运算符判断)
<body>
    <%
        request.setAttribute("key","hello,El表达式");
    %>
    jsp表达式脚本的输出方式:<%=request.getAttribute("key")==null?"":request.getAttribute("key")%><br/>
    EL表达式的输出方式:${key}
</body>
EL 表达式搜索域数据的顺序

EL 表达式主要是在 jsp 页面中输出域对象中的数据。

当四个域中都有相同的 key 的数据的时候,EL 表达式会按照四个域的从小到大的顺序去进行搜索,找到就输出。

<body>
    <%
        //往四个域中保存相同的key的数据
        request.setAttribute("key","request");
        session.setAttribute("key","session");
        application.setAttribute("key","application");
        pageContext.setAttribute("key","pageContext");
    %>
    ${key}
</body>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薛定谔的猫1981

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值