一 介绍 

      JSP表达式语言(Expression Language),简称EL,为存取变量、表达式运算和读取内置对象等内容提供了新的操作方式。目的:为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法。

${ param. username } 等价于 <%=request. getParameter(“username”) %>

${ requestScope.userlist } 等价于 <%=request.getAttribute(“userlist”) %>

同样,${ sessionScope.user.name } 等价于 ${ sessionScope.user.[“name”] } 或者 ${ sessionScope.users[0].name }

 EL隐式对

EL中属性的范围

属性范围 EL中的名称
Page     PageScope
Request RequestScope
Session SessionScope
Application ApplicationScope

EL表达式还有一些隐式的对象,一共11个,具体如下:

EL中隐含的对象

隐含对象 说明
pageScope 取得Page范围属性名称中的值
requestScope 取得Request范围属性名称中的值
sessionScope 取得Session范围属性名称中的值
applicationScope 取得Application范围属性名称中的值
pageContext 表示JSP中的PageContext
param 同:ServletRequest.getParameter(String name)
paramValues 同:ServletRequest.getParameterValues(String name)
header 同:ServletRequest.getHeader(String name)
headervalues 同:ServletRequest.getHeaders(String name)
cookie 同:ServletRequest.getCookies( )
initparam 同:ServletRequest.getInitParameter(String name)

三 关于EL隐式对象的简单实例

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>


EL表达式简单实例



	
		
			
				姓名:
				 
			
			
				性别:
				 
			
			
				年龄:
				 
			
			
				爱好:
				
						
							 
							 网上冲浪
							 旅游
							 健身
						
					
					

elshow.jsp页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>




	">
	Insert title here


	<%
		request.setCharacterEncoding("utf-8");
		request.setAttribute("r", "requsetTest");
		session.setAttribute("s", "sessionTest");
		application.setAttribute("a", "applicationTest");
		pageContext.setAttribute("p", "pageContextTest");
	%>
	姓名:${param.name}
性别:${param.sex}
年龄:${param.age}
爱好: ${interest}

request示例:
        ${requestScope.r}
   
           session示例:
        ${sessionScope.s}
   
           application示例:
        ${applicationScope.a}
 
             pageContext示例:
        ${pageScope.p}
                            ${pageContext.request.queryString}           ${pageContext.request.requestURL}           ${pageContext.request.contextPath}           ${pageContext.request.method}           ${pageContext.request.protocol}           ${pageContext.request.remoteUser}           ${pageContext.request.remoteAddr}           ${pageContext.session.id}   ${pageContext.servletContext.serverInfo}  

测试效果:

JSP中的EL隐式对象_第1张图片

JSP中的EL隐式对象_第2张图片



(PS:欢迎大家来我的个人博客踩踩:http://www.zifangsky.cn/)