EL表达式

EL表达式


因为热爱,所以拼搏。 –RuiDer


EL表达式

 EL:Expression Language 表达式语言,是在JSP 2.0引入的一个新特性,用于JSP文件中数据访问。它的作用相当于替代了JSP中
 的<%= %>和<% %>Java程序片段,使用更方便,更简单。

主要作用

1.数据访问
2.替代<%= %>和<% %>Java程序片段

基本语法

形如 ${var}
例如:
1.${param.username}等同于 <%=request.getParameter("username")%>
都用于在页面输出请求参数username
2.JavaUser对象user的属性name的访问
    ${sessionScope.user.name}或者${(sessionScope.user)["name"]}
    <%=sessionContext.getparameter("username").name%>
3.EL表达式的运算符
    ${2-1},${2*5},支持加减乘除取模运算符
    ${12<=5},支持关系运算符
    ${!(12>3)},${16>3&&17<2},支持逻辑运算符
说明:EL表达式不是一门通用于开发的语言,它只是一个重要的特性,简洁了JSP数据访问。

特殊表达式 :

1.${empty var}表示var是否为空,如果为空,输出true,否则,输出false
说明:
    -var不存在,返回true
    -var存在,但是var=null,返回true
    -var属于集和对象(Set,Map,List),他们不包含元素时输出True
2.${a>b?1:2}支持条件运算符

隐含对象

EL表达式定义了是一个隐含对象,他们都是java.util.Map类型,EL表达式可以通过他们Web应用中的数据。

1.applicationScope:把Web应用范围内的属性名和属性值进行映射。
2.cookie:把客户请求的cookie名和cookie对象进行映射
3.header:把Http请求头部的项目名和所有匹配的项目值进行映射。比如${header.host}等同于<%=request.getHeader("host")%>
4.headerValues:把请求头部的项目名和项目值的数组进行映射。
5.initParam:把web中的初始化参数名和参数值进行映射。
6.pageScope:把页面范围内的属性名和属性值进行映射。
7.pageContext:代表javax.servlet.jsp.PageContext对象
8.param:把请求参数名和参数值进行映射。
9.paramValues:把请求参数名和请求参数值的数组映射。
10.requestScope:请求范围内的属性名和属性值的映射。
11.sessionScope:会话范围内的属性名和属性值进行映射。

注意:对于含有 "-"字符的属性名或者参数名,必须采用"[]"来访问数据。比如:
    ${user["user-name"]}而不是${user.user-name}

重头戏

EL表达式访问的数据是特定范围内的,不是任何命名变量,比如web应用范围内的,会话范围内,page范围内等特定范围内的数据。

比如:
    <%
    String name="tom";
    %>
    ${name}
访问上面命名的name变量是错误的,如果在上面所述的特定范围内没有name属性名或者参数名,返回结果为空。

作者寄语

做过项目的都知道,EL表达式会在项目中普遍使用,尤其在前后端整合,相当便捷。这是我的博客

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页