EL表达式总结

来源:互联网 发布:算法分析与设计视频 编辑:程序博客网 时间:2024/05/22 17:23
 

一、EL简介

   1.语法结构

     ${expression}

   2.变量

     EL存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的

变量。

     因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、

Application范围查找。

     假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回

传null。

     属性范围在EL中的名称

         Page          PageScope

         Request          RequestScope

         Session          SessionScope

         Application      ApplicationScope

       

二、EL隐含对象

   1.与范围有关的隐含对象

   与范围有关的EL 隐含对象包含以下四个:pageScope、requestScope、sessionScope 和

applicationScope;

   它们基本上就和JSP的pageContext、request、session和application一样;

   在EL中,这四个隐含对象只能用来取得范围属性值,即getAttribute(String name),却不能取得其他

相关信息。

 

   例如:我们要取得session中储存一个属性username的值,可以利用下列方法:

     session.getAttribute("username") 取得username的值,

   在EL中则使用下列方法

     ${sessionScope.username}

 

   2.与输入有关的隐含对象

   与输入有关的隐含对象有两个:param和paramValues,它们是EL中比较特别的隐含对象。

 

   例如我们要取得用户的请求参数时,可以利用下列方法:

     request.getParameter(String name)

     request.getParameterValues(String name)

   在EL中则可以使用param和paramValues两者来取得数据。

     ${param.name}

     ${paramValues.name}

 

   pageContext

   pageContext取得其他有关用户要求或页面的详细信息。

     ${pageContext.request.queryString}          取得请求的参数字符串

     ${pageContext.request.requestURL}          取得请求的URL,但不包括请求之参数字符串

     ${pageContext.request.contextPath}          服务的web application 的名称

     ${pageContext.request.method}            取得HTTP 的方法(GET、POST)

     ${pageContext.request.protocol}          取得使用的协议(HTTP/1.1、HTTP/1.0)

     ${pageContext.request.remoteUser}          取得用户名称

     ${pageContext.request.remoteAddr }          取得用户的IP 地址

     ${pageContext.session.new}              判断session 是否为新的

     ${pageContext.session.id}                取得session 的ID

     ${pageContext.servletContext.serverInfo}    取得主机端的服务信息

 

EL函数(functions)。

   语法:c:function( arg1, arg2, arg3 …. argN)

   其中c为前置名称(prefix),它必须和taglib 指令的前置名称一置

       <c:forEach items="${entities}" var="entity">

                         <tr>

                                <td>${entity.id}</td>

                                <td>${entity.name}</td>

                                <td>${entity.sex}</td>

                                <td>${entity.pass}</td>

                                <td>${entity.age}</td>

                                <td>

                                       <a href="#">edit</a>

                                       <a href="#">delete</a>

                                </td>

                                </tr>

                         </c:forEach>

 

三.1     EL表达式用${}表示,可用在所有的HTML和JSP标签中 作用是代替JSP页面中复杂的JAVA代码.

 

2    EL表达式可操作常量 变量 和隐式对象. 最常用的 隐式对象有${param}和

${paramValues}. ${param}表示返回请求参数中单个字符串的值. ${paramValues}表示返回请求参数的一

组值.pageScope表示页面范围的变量.requestScope表示请求对象的变量.sessionScope表示会话范围内的

变量.applicationScope表示应用范围的变量.

 

3    <%@   page isELIgnored="true"%> 表示是否禁用EL语言,TRUE表示禁止.FALSE表示不禁

止.JSP2.0中默认的启用EL语言.