EL表达式的学习

英文名Expression Language表达式语言

${变量名}

 

 

 

 这是一个跳转操作,执行完之后网址不会发生改变

 

 由咱们之前的截图我们可以看出来,上下两种方法输出的结果是一样的,而第一种和明显比第二种复杂许多,所以咱们也就应该晓的了该表达式的存在的含义

可以非常方便的取出域对象(page,request,session,application)中的数据,但前提是一定要先setAttribute,也就是说EL只是在简化get操作

而这四个的优先级和存储范围正好相反

而在${变量名}里面的变量名就是setAttribute对应的key值{“key”,“数据”}

当然如果我们不想按他规定的来的话,

咱们可以在数据的前面加上域对象Scope.key  这样咱们就取的是该域对象的数据了

 

 掉用一个类里面的方法这样输出的话就是输出这个数据的hash值和全类名(未设计tostring方法)

设计了之后就会输出信息

 

 

 

ei表达式只可以在jsp里面使用

访问到的是属性里面的get方法(ei)

 

数据级联

复制代码
<%
    String name = (String) request.getAttribute("name");

    User user=new User(12,"刘同人",44.56);
    pageContext.setAttribute("user",user);
%>
<hr/>
<table>
    <tr>
        <th>编号</th>
        <th>姓名</th>
        <th>成绩</th>
    </tr>
    <tr>
        <th>${user.id}</th>
        <th>${user.name}</th>
        <th>${user.score}</th>
    </tr>
</table>
复制代码

本质是调用tostring方法

 

这样子也是一个意思

el可以执行表达式

&&           ||             !            <,>                ==

${num1>num2}

返回true或false

可以使用and代替&&,但是必须留空格

&& and

|| or

! not

== eq

!=  ne

< lt

> gt

<= le

>= ge

empty (变量为null,string的长度为0,size为0的集合)【返回true或者false】加个not就反回来了

 

posted @   湖南陈冠希  阅读(30)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示