EL表达式

空扰寡人 提交于 2019-12-08 09:13:29

  

  1、el表达式的概述:el表达式可以嵌入java代码,可以减少jsp脚本的编写。el表达式能代替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表达式比jsp的脚本要方便多,它可以减少代码量。只要有之前学习的基础,el表达式很容易理解。

 

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!