EL表达式

EL表达式语法

${ EL expression}
其中:
$ 表示EL表达式的开始。
EL expression指定表达式。

EL操作符

  1. “.”操作符
    用来访问对象的某个属性,如${user.name}
  2. "[]"
    用来访问对象的某个属性,如${user['name']}
    更多作用
    (1) 属性名中包含 . -等特殊字符,此时只能使用'[]'
    (2) 访问数组 ${arr[1]}
    (3) 动态访问 ${user[x]} x是变量 改变x即可

算术表达式

“+”,“-”、“*”、“/”、div、“%”或mod

${1+1 }
${'1'+1.1 }

关系操作符

==(eq) !=(ne) >(gt) <(lt) >=(ge) <=(le)

${"a"=="a"} ${"a"eq"a"}      true

逻辑操作符

&& || !

empty操作符


${empty s }
${!empty s }
${not empty s }
${!not empty s }

EL内置对象

  1. 域对象
<%
    pageContext.setAttribute("a", "1");
    request.setAttribute("a", "2");
    session.setAttribute("a", "3");
    application.setAttribute("a", "4");
%>
${pageScope.a }
${requestScope.a }
${sessionScope.a }
${applicationScope.a }
${a }

${a }底层使用pageContext.findAttribute(“a”),依次从page、request、session、application的域范围中寻找”a”属性,如果都没有则返回null 。

  1. param paramValues


${param.name }
${param.hobby }
${paramValues.name }
${paramValues.name[0] }
${paramValues.hobby }
${paramValues.hobby[1] }

${param.xxx } 相当于reuqest.getParameter(“xxx”);
${paramValues.xxx } 相当于reuqest.getParameterValues(“xxx”);

  1. header headerValues
${header.accept }
\${header.accept-Encoding }
${header['accept-Encoding'] }
${headerValues['accept-Encoding'] }
${headerValues['accept-Encoding'][0] }
  1. 其他

${pageContext.request.contextPath }

${cookie }

EL获取数据

<%
Map umap = new HashMap();
umap.put("user1", new User("zhang",18));
umap.put("user2", new User("xiao",36));
pageContext.setAttribute("umap", umap); 
%>
${umap }
${umap.user2 }
${umap.user1.age }
${umap['user2'].name }
${umap['user2']['name'] }
${umap['user2']['age'] }
${umap['user2'][age] }

你可能感兴趣的:(EL表达式)