由JSP到 EL表达式(一)

1 EL表达式目的

         EL(Expression Language)表达式语言,目的:为了使JSP写起来更加简单,EL提供了JSP中简化表达式的方法。

2 EL表达式定义

        它是一种简单的语言,基于可命名空间(PageContext属性)、嵌套属性和对象集合、操作符(算属型、关系型和逻辑型)的访问符、映射到java类中的静态方法的可扩展函数以及一组隐式对象。

 

3语法结构

        3.1${expression}

        3.2[] 与.运算符,EL提供[] 和 . 两种运算符来存取数据。eg: ${user["name"] (动态存取值时用[] . 不能动态存取)

        3.3 变量

 

        el存取变量的方法, 为${username} 取出某一个范围中名称为username的变量。当我们没有指定哪一范围的username,它会依次从Page、Request、Session、Application范围内查找。

 

4有效表达式

        我们比较常用的是它的几个隐式对象

隐式对象 定义
pageContext 用于访问jsp隐式对象,为页面的响应或请求对象赋值。
param 请求参数名称映射到单个字符串参数值。eg:表达式${parma.name} 相当于request.getParameter(name)
paramValues 请求参数名称映射到一个数值数组。eg:${parmavalues.name}相当于request.getParameterValues(name)
header 表达式${header.name}相当于request.getHeader(name)
headerValues ${headerValues.name}相当于request.getHeaderValues(name)
cookies 将cookie名称映射到单个cookie对象
initParam 初始化参数名称映射到单个值。ServletContext.getInitparameter(String name)获得。

 

        注意:

         1、当用表达式引用这些对象时,返回的是相应的对象,而不是相应的属性。eg:${pageContext} 返回PageContext对象。

         2、<%@ page isELigonred="true" %>表示是否禁用EL语言,true表示禁止,false表示未禁止,jsp2.0默认未禁止。

 

5举例

        1 ${param.username}----------------><%=request.getParameter("username") %>

 

        代码片段

 

由JSP到 EL表达式(一)_第1张图片

 

 

        2 ${user.addr}--------------><%=user.getAddr()%>

 

        代码片段

 

 

        3 ${requestScope.userlist}----------><%=request.getAttribute("userlist")%>

 

        4 ${userlist}执行顺序为:${pageScope.userlist} , ${applicationScope.userlist}, ${sessionScope.userlist},  ${requestScope.userlist}直到找到为止。

 

        5 ${user.username}-------------------><%=user.getUsername()> 

 

        6 取得map中的值${map.k1 }

 

        7 表达式对运算符的支持:1+1=${1+1},10/5=${10/5} 10 div 5 =${10 div 5}

 

 

 

 

 

 

 

你可能感兴趣的:(由JSP到 EL表达式(一))