14.JavaWeb基础 EL(表达式语言)

本文详细介绍了EL表达式语言(Expression Language)在Web开发中的使用方法,包括其基本概念、内置对象、集合操作及核心特性,旨在简化页面逻辑并提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >







一.EL简介


  表达式语言(Expression Language,EL)。使用表达式语言,可以方便地访问标志位

(pageContext、request、session、application)中的属性内容,这样可以避免出

现更多的Script代码,其语法如下:


${属性名称}



使用EL最大的特点就是:如果输出内容是null,则会自动使用空字符串("")表示:

<body>

	
	<h3>内置对象:<%=request.getAttribute("CaMnter")%></h3>
	<h3>EL:${CaMnter }</h3>
	
	
</body>







简单输出:

<body>

	<%
		request.setAttribute("CaMnter", "Save you from anything 07");
	%>

	<h3>${CaMnter }</h3>
	
</body>













二.EL的内置对象



EL的内置对象
EL内置对象描述
pageContextjavax.servlet.jsp.PageContext对象
pageScope从page属性范围查找输出属性
requestScope从request属性范围查找输出属性
sessionScope从session属性范围查找输出属性
applicationScope从application属性范围查找输出属性
param接收传递到本页的一个参数
paramValues接收传递到本页的一组参数
header取得一个头信息
headerValues取得一组头信息
cookie取得cookie中的数据
initParam取得初始化参数






访问4种属性:

<body>

	<%
		pageContext.setAttribute("CaMnter", "page_Save you from anything 07") ;
		request.setAttribute("CaMnter", "request_Save you from anything 07");
		session.setAttribute("CaMnter", "session_Save you from anything 07");
		application.setAttribute("CaMnter", "application_Save you from anything 07");
	%>

	<h3>page:${pageScope.CaMnter }</h3>
	<h3>request:${requestScope.CaMnter }</h3>
	<h3>session:${sessionScope.CaMnter }</h3>
	<h3>application:${applicationScope.CaMnter }</h3>
	
</body>






调用内置对象操作:


使用pageContext可以取得request、session、application的实例。

<body>

	<h3>IP:${pageContext.request.remoteAddr }</h3>
	<h3>Session ID:${pageContext.session.id }</h3>

</body>









接收请求一个参数:

<body>

	
	<h3>request.getParameter():<%=request.getParameter("CaMnter")%></h3>
	<h3>EL:${param.CaMnter}</h3>

</body>


地址栏重写即可:










接收请求一组参数:


el_1.html:

<!DOCTYPE html>
<html>
  <head>
    <title>el_1.html</title>
	
    
    
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

  </head>
  
  <body>
    
    <form action="../jsp/el_5.jsp" method="post">
    
    	<input type="checkbox" name="inst" value="red">红
    	<input type="checkbox" name="inst" value="green">绿
    	<input type="checkbox" name="inst" value="blue">蓝
    	<input type="submit" value="提交">
    	
    </form>
    
  </body>
</html>


el_5.jsp:

<body>

<%

	request.setCharacterEncoding("UTF-8") ;

%>
	
	
	<h3>第一个:${paramValues.inst[0]}</h3>
	<h3>第二个:${paramValues.inst[1]}</h3>
	<h3>第三个:${paramValues.inst[2]}</h3>

</body>










三.EL的集合操作

List:

<body>

<%

	List list = new ArrayList() ;
	list.add("CaMnter") ;
	list.add("Save you from anything 07") ;

	request.setAttribute("info", list) ;
	
%>
	
	
	<h3>第一个:${requestScope.info[0]}</h3>
	<h3>第二个:${requestScope.info[1]}</h3>

</body>








Map:

<body>

<%

	Map map = new HashMap() ;
	map.put("name", "CaMnter") ;
	map.put("age", 18) ;

	request.setAttribute("info", map) ;
	
%>
	
	
	<h3>第一个:${requestScope.info["name"]}</h3>
	<h3>第一个:${requestScope.info.name}</h3>
	<h3>第二个:${requestScope.info["age"]}</h3>

</body>






由Map例子,可以看出 ${requestScope.info["name"]} == ${requestScope.info.name}

这说明了在EL中,出了可以采用“.”的形式访问之外,还可以采用“[]”的形式访问。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值