el表达式

1.EL表达式

expression language表达式语言,可以直接在jsp页面上用.作用:可以直接从四 大范围(page->request->session->application)内取出值.

1.1:el表达式的语法:${Key}

1.2:如果el表达取值时不带范围,依次从page->request->session->application寻找Key 所对应的value,如果从page范围内找到值,就不会再从后面的范围寻找.

1.3:如果el表达按指定范围内取值时,如果这个范围内找到这个key所对应的值就显示,否 则就不显示.

eg:<!-- 在指定范围内存值 -->
	<h2>${pageScope.sname }</h2>
	<h2>${requestScope.sname }</h2>
	<h2>${sessionScope.sname }</h2>
	<h2>${applicationScope.sname }</h2>

1.4:如果${Key}的Key不存在或者通过key得到null或""的值就不显示不报错不占页面位 置,不会报null.

1.5:在el表达式中可以直接用java中运算符.

1.6:判断el表达式中值是否是null或""用: e m p t y k e y 或 {empty key}或 emptykey{!empty key}

1.7:el表达式有自动类型转换作用

eg:<%
		//将数据存在page范围内
		pageContext.setAttribute("sname", "吴鹏程");
	    //同一个范围内Key名相同,value覆盖
	    pageContext.setAttribute("sname", "唐志亮");
		//将数据存在request范围内
		request.setAttribute("sname", 18);
		//将数据存在session范围内
		session.setAttribute("sname", "man");
		//将数据存在application范围内
		application.setAttribute("sname", "爱好女");
		
		//将对象存在request范围内
		Student student1=new Student("悌子君", "123456", "man", "aa@qq.com", "rap", "西安");
		request.setAttribute("stu1", student1);
		
		//将list集合存在request范围内
		//创建集合
		List<Student> stuList=new ArrayList();
		//向集合中添加元素
		stuList.add(new Student("aa", "123456", "man", "aa@qq.com", "rap", "西安"));
		stuList.add(new Student("bb", "123456", "man", "aa@qq.com", "rap", "西安"));
		stuList.add(new Student("cc", "123456", "man", "aa@qq.com", "rap", "西安"));
		request.setAttribute("stuList1", stuList);
		
		/*
			在java的泛型集合中这三种声明都可以
			Map<String,String> map1=new HashMap();
			Map<String,String> map1=new HashMap<>();这种创建集合的方式,注意有的版本el表达式识别不了
			Map<String,String> map1=new HashMap<String,string>();
		*/
		
		//将map集合存在request范围内
		//创建集合
		Map<String,String> map1=new HashMap();
		//向集合中添加元素
		map1.put("k1", "杨森林");
		map1.put("k2", "段怡豪");
		request.setAttribute("map2", map1);
		
		//将map集合的key存数字类型存在request范围内
		Map<Long,String> map4=new HashMap();
		//向集合中添加元素
		map4.put(2l, "张俊飞");
		request.setAttribute("map3", map4);
		
	%>
	
	<!-- 用el表达式取出page范围内的值 -->
	<h1>${sname}</h1>
	<!-- 用el表达式取出request范围内的值 -->
	<h1>${sage}</h1>
	<!-- 用el表达式取出session范围内的值 -->
	<h1>${ssex}</h1>
	<!-- 用el表达式取出application范围内的值 -->
	<h1>${shobby}</h1>
	
	<!-- 在指定范围内存值 -->
	<h2>${pageScope.sname }</h2>
	<h2>${requestScope.sname }</h2>
	<h2>${sessionScope.sname }</h2>
	<h2>${applicationScope.sname }</h2>
	
	<!--用el取出对象的属性值 -->
	<h3>姓名:${stu1.name },性别:${stu1.sex }</h3>
	<h3>${stu1.toString() }</h3>
	<!-- el取出对象输出时,会自动调用对象toString() -->
	<h3>${stu1 }</h3>
	
	<!-- 用el表达式取出list集合中元素 -->
	<h1>${stuList1[0]}</h1>
	<!-- 用el表达式取出list集合中元素的属性 -->
	<h1>${stuList1[0].name}</h1>

	
	<!-- 用el表达取出map集合中元素 -->
	<h1>${map2["k1"] }</h1>
	<h1>${map2.k1 }</h1>
	
	<!-- el中直接用运算符 -->
	<h1>${1+6-1 }</h1>
	<h2>${1<2&&3<4 }</h2>
	
	<!-- el中判断key为不为空 -->
	<h1>不为空的判断:${!empty kk }</h1>
	<h1>为空的判断${empty kk }</h1>
	<!-- el表达式中+只有算术运算作用 -->
	${"1"+1 }
	
	<!-- el表达式只支持map集合的key用Long或String不支持Integer -->
	<h1>${map3[2] }</h1>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值