码迷,mamicode.com
首页 > 其他好文 > 详细

EL表达式

时间:2021-01-26 11:45:20      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:属性绑定   user   复杂   code   指定   and   add   lis   express   

EL 表达式

Expression Language 表达式语?,替代 JSP ??中数据访问时的复杂编码,可以?常便捷地取出域对
象(pageContext、request、session、application)中保存的数据,前提是?定要先 setAttribute
EL 就相当于在简化 getAttribute
${变量名} 变量名就是 setAttribute 对应的 key 值。
 
1、EL 对于 4 种域对象的默认查找顺序:
pageContext -》request-〉session-》application
按照上述的顺序进?查找,找到?即返回,在 application 中也?法找到,则返回 null

 

<%
    pageContext.setAttribute("name","page");
    request.setAttribute("name","request");
    session.setAttribute("name","session");
    application.setAttribute("name",application);
%>
${name}

结果

技术图片

 

page优先级最高

将page那行注释掉

技术图片

 

 

 所以优先级为:pagecontext,request,session,application

 

2、指定作?域进?查找
pageContext:${pageScope.name}
request:${requestScope.name}
session:${sessionScope.name}
application:${applicationScope.name}

 

 

3.${}的原理:

与方法绑定,非与属性绑定

user.num解析

1.找user里面的getNum方法,然后方法里面的return的值返回

技术图片

 

 

4.一个例子

<%
 User user = new User(1,"张三",86.5,new Address(1,"?寨"));
 System.out.println(user.toString());
 pageContext.setAttribute("user",user);
 %>
 <table>
 <tr>
 <th>编号</th>
 <th>姓名</th>
 <th>成绩</th>
 <th>地址</th>
 </tr>
 <tr>
 <td>${user.id}</td>
 <td>${user.name}</td>
 <td>${user.score}</td>
 <td>${user.address}</td>
 </tr>
 </table>
${user["id"]}

5.EL执行表达式

&& || ! < > <= <= ==
 
&&: and
|| :or
! :not
== :eq
!= :ne
< :lt
> :gt
<= :le
>= :ge
empty 变量为 null,?度为0的String,size为0的集合</

 

<%
    request.setAttribute("num1",true);
    request.setAttribute("num2",false);
%>
<hr/>
${name1&&num2}

 

<%
    request.setAttribute("num1",true);
    request.setAttribute("num2",false);
%>
<hr/>
${name1 and num2}

 

<%
    List<String> list=new ArrayList<>();
    request.setAttribute("num3",list);
%>
<hr/>
${empty num3}

 

EL表达式

标签:属性绑定   user   复杂   code   指定   and   add   lis   express   

原文地址:https://www.cnblogs.com/hanabi-521/p/14320051.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!