EL表达式

本文详细介绍了EL(Expression Language)表达式在JSP文件中的使用,包括其基本命令格式、作用域对象别名、如何将引用对象属性写入响应体以及简化版EL表达式的使用。EL表达式支持运算表达式,提供了内置对象如`param`用于获取请求参数,简化了从前的JSP代码。同时,文章还提到了可能出现的`PropertyNotFoundException`异常情况。
摘要由CSDN通过智能技术生成

一、EL表达式

1.命令格式:${作用域对象别名.共享数据}

     2.命令作用:
          1)EL表达式是EL工具包提供一种特殊命令格式【表达式命令格式】
          2)EL表达式在JSP文件上使用
          3)负责在JSP文件上从作用域对象读取指定的共享数据并输出到响应体

二、EL表达式作用域对象别名

1.JSP文件可以使用的作用域对象

    1) ServletContext     application:  全局作用域对象

    2) HttpSession        session:      会话作用域对象

    3) HttpServletRequest request:      请求作用域对象

     4) PageContext        pageContext: 当前页作用域对象,这是JSP文件独有的作用域对象。Servlet中不存在

2.EL表达式提供作用域对象别名
    
              JSP                          EL表达式

          application                 ${applicationScope.共享数据名}

          session                      ${sessionScope.共享数据名}

          request                       ${requestScope.共享数据名}

          pageContext               ${pageScope.共享数据名}

三、EL表达式将引用对象属性写入到响应体

     1.命令格式: ${作用域对象别名.共享数据名.属性名}

     2.命令作用: 从作用域对象读取指定共享数据关联的引用对象的属性值。
                  并自动将属性的结果写入到响应体

     3.属性名: 一定要与引用类型属性名完全一致(大小写)

     4.EL表达式没有提供遍历集合方法,因此无法从作用域对象读取集合内容输出

四、EL表达式简化版

     1.命令格式: ${共享数据名}

     2.命令作用: EL表达式允许开发人员开发时省略作用域对象别名

     3.工作原理:
           EL表达式简化版由于没有指定作用域对象,所以在执行时采用猜的方式获取数据

     猜的顺序 pageContext--->request--->session--->application

     4.存在隐患:

            降低程序执行速度、容易导致数据定位错误

五、EL表达式支持运算表达式

       前提:  在JSP文件有时需要将读取共享数据进行一番运算之后,将运算结果写入到响应体

数学运算、关系运算、逻辑运算


六、EL表达式提供内置对象   

      1.命令格式: ${param.请求参数名}

         命令作用: 通过请求对象读取当前请求包中请求参数内容并将请求参数内容写入到响应体

         代替了以下代码:


           发送请求:  Http://localhost:8080/myWeb/index.jsp?userName=hh&password=123

		   <%
		     String userName =   request.getParameter("userName");
			 String password =   request.getParameter("password");
		   %>
		   <%=userName%>
		   <%=password%>

     2、命令格式:${paramValues.请求参数名[下标]}

          命令作用: 如果浏览器发送的请求参数是一个请求参数关联多个值此时可以通过paramValues读取请求参数下指定位置的值并写入到响应体

           代替了以下代码:

http://localhost:8080/myWeb/index.jsp?pageNo=1&pageNo=2&pageNo=3
                 
		  <%
		      String  array[]= request.getParameterValues("pageNo");
		  %>
		  第一个值:<%=array[0]%>
		  第二个值:<%=array[1]%>

七。EL表达式常见异常:
                 
         javax.el.PropertyNotFoundException:在对象中没有找到指定属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值