JSP EL表达式获取数据

本文深入探讨了EL表达式的使用方法,包括其基本语法、获取四大域参数、使用JSP标签实现对象属性访问,以及如何处理数据类型转换、数组、集合、Map等复杂数据结构的访问。此外,阐述了EL表达式在数据为空时的表现,以及获取数据的顺序。通过实例展示了EL表达式的强大功能和应用场景。

EL表达式基本格式:${}

EL表达式只能获取4大域里面的参数:(page,request,sission,applition)

EL表达式要获取数据的格式:${p}     p是4大域里获取的参数


<jsp:useBean id="p" class="domain.Person" scope="page"></jsp:useBean>
	<jsp:setProperty property="name" name="p" value="xixix"/>

	<jsp:getProperty property="name" name="p"/><br><%--jsp表达式 --%>
	<%=p.getName() %><br>
	${p.name }<br><%--EL表达式 --%>
上面${p.name}的意思是从p对象获取getname方法的值。



EL表达式在获取的值为null的时间是不会输出的,用EL表达式是不会出现空指针异常。


在${}里实现的是pageContext.findAttribute()这个方法

所以:

pageContext.setAttribute("qq", "qq1", pageContext.PAGE_SCOPE);
pageContext.setAttribute("qq", "qq2", pageContext.REQUEST_SCOPE);
pageContext.setAttribute("qq", "qq3", pageContext.SESSION_SCOPE);
pageContext.setAttribute("qq", "qq4", pageContext.APPLICATION_SCOPE);
		
在上面这串代码中:用${qq}获取值的先后顺序是  page,request,session,application。


--------------------------------用EL表达式也可以获取到数组,Collect,Map类--------------------------------------------


--  . (点)可以用[](中括号)代替     但是[](中括号)不一定可以用. (点)代替 --


--获取数组中指定的元素 --

<%
	
		String str[] = {"a","b","c"};
		pageContext.setAttribute("str", str);
	%>
	
	${str[1]}
	${str[100]}



--获取list中的元素 --

<%
		LinkedList list = new LinkedList();
		list.add("xxx");
		list.add("sss");
		list.add("www");
	
		pageContext.setAttribute("list", list);
	%>
	
	${list[1] }


--获取Map中的元素 --%><%--如果put索引号是用数字,必须map["数字"] --

<%
		Map map = new HashMap();
	
		map.put("1", new Computer("e5300","2g"));
		map.put("b", new Computer("i3 530","4g"));
		//map.put("3", new Computer("i7 980","6g"));
		
		//map.put("a", "elele");
		//map.put("b", "qweqw");
		
		pageContext.setAttribute("map", map);
	%>
	${map["1"].cpu}<br>
	${map.b.memory }<br>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值