EL表达式迅速入门

什么是EL表达式?

EL表达式全名是Expression Language。EL的主要作用有:

  1. 获取数据
  2. 执行运算
  3. 获取web开发常用对象
  4. 调用Java方法

不过有一点需要注意的是使用EL表达式的时候,该JSP文件的指令中需要设置<%@ page isELIgnored="false" %>。(默认就是false)

 

1.获取数据

EL表达式获取数据的语法    ${ 标识符 }

EL表达式在执行的时候会自动调用pageContext.findAttribute方法,并使用该标识符作为关键字,分别从page,request,session,application四个域中查找相应的对象(范围从小到大的查找),找到则返回对象,找不到则返回“  ”(注意这里不是null,是空字符串)。

<%@page import="com.xml.ov.User2"%>
<%@page import="java.util.HashMap"%>
<%@page import="java.util.Map"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


<%	
	application.setAttribute("name", "john");
	pageContext.setAttribute("name", "tom");
	request.setAttribute("name", "sam");
	session.setAttribute("name", "ana");

%>

${name}
${pageScope.name}
${requestScope.name}


域中的数组集合

<% String[] array = {"ana","bob","cindy"}; request.setAttribute("array", array); %> ${array[1]}

域中集合的值

<% List list = new ArrayList(); list.add("ana"); list.add("bob"); list.add("cindy"); request.setAttribute("list", list); %> ${list.get(0)}

域中Map集合的值

<% Map map = new HashMap(); map.put("a", "ana"); map.put("b.b", "bob"); request.setAttribute("map", map); %> ${map.a} ${map["b.b"]}

域中集合存对象的值

<% List list2 = new ArrayList(); list2.add(new User2("ana","123")); list2.add(new User2("bob","456")); request.setAttribute("list2", list2); %> ${list2[0].username}

 

2.执行运算 

 

			运算符输出运算结果,比较符输出true或者false
                        

加法运算

${ n1 + n2 }

关系运算

大于

${ n1 > n2 } ${ n1 gt n2 }

小于

${ n1 < n2 } ${ n1 lt n2 }

等于

${ n1 == n2 } ${ n1 eq n2 }

不等于

${ n1 != n2 } ${ n1 ne n2 }

大于等于

${ n1 >= n2 } ${ n1 ge n2 }

小于等于

${ n1 <= n2 } ${ n1 le n2 }

逻辑运算

${ n1 > n2 && n3 > n4 } ${ n1 > n2 and n3 > n4 }

${ n1 > n2 || n3 > n4 } ${ n1 > n2 or n3 > n4 }

${ !(n1 > n2) } ${ not (n1 > n2) }

 

3.直接获取WEB开发中的对象 

 

EL表达式中保留了11个隐含对象,这些可以直接使用的隐含对象可以很方便的获取web开发的一些常见对象。

语法:${ 隐式对象名称 } :获取对象的引用

EL表达式迅速入门_第1张图片

EL表达式迅速入门_第2张图片

			

EL的WEB对象

${ param.username }

获取请求头

${ header.referer }

获取全局初始化参数

${ initParam.username }

pageContext对象

${ pageContext.request.contextPath }

 

4.调用Java的方法

其实这个用的不是很多,详情请点击。

你可能感兴趣的:(后端)