EL表达式

  

  1、el表达式的概述:el表达式可以嵌入java代码,可以减少jsp脚本的编写。

  2、从el从域中读取数据:概述中说到el表达式可以代替jsp脚本,并且很容易实现其功能。举个例子,如果我们要从request域中获取数据,需要用jsp脚本:<%@ request.getAttribute(name)%>,但是如果我们用el表达式写则很容易:${requestScope.name}。所以说el表达式减少jsp脚本的编写。

    EL最主要的作用是获得四大域中的数据,格式${EL表达式}        

          EL获得pageContext域中的值:${pageScope.key};

      EL获得request域中的值:${requestScope.key};

      EL获得session域中的值:${sessionScope.key};

      EL获得application域中的值:${applicationScope.key};

代码:(简单)

运行结果:

      EL从四个域中获得某个值:${key},它和pageContext域一样,也是从范围小的域到范围大的域查找,如果找到则暂听,返回改值(jsp四个域的小:pageContext<request<session<application)

代码:

运行结果:

 3、EL的内置对象11个(現在用的很少)

  pageScope,requestScope,sessionScope,applicationScope

     ---- 获取JSP中域中的数据

  param,paramValues - 接收参数.

    相当于request.getParameter()  rrquest.getParameterValues()

  header,headerValues  - 获取请求头信息

    相当于request.getHeader(name)

  initParam - 获取全局初始化参数

    相当于this.getServletContext().getInitParameter(name)

  cookie   - WEB开发中cookie

    相当于request.getCookies()---cookie.getName()---cookie.getValue()

  pageContext- WEB开发中的pageContext.

  pageContext获得其他八大对象

  比如:${pageContext.request.contextPath}

    相当于获得WEB应用的名称

代码:

 运行结果:

  <%=pageContext.getRequest().getContextPath%>  这句代码不能实现

  4、执行表达式

    例如${1+1}  

     ${empty Object} 判断是否为空,如果是空则false,否则true

    代码:    

    运行结果:

     当字符串空串是,也认为为空 

    代码:

     运行结果:

总结:el表达式简化从域取数据的java代码,但它不能进行逻辑判断。只要有之前学习的基础,el表达式很容易理解。

    如果有大佬发现错误或者补充请留言,谢谢,向您学习。。    

原文地址:https://www.cnblogs.com/yangxiao-/p/12002624.html