el表达式

EL表达式

	语法:${key}  key代表的是存在域对象中的键

el表达式一般操作的是域对象或字面量,不能操作变量。
取值范围:从小范围开始找,找到即止,如果都未找到,返回空字符串。 page、request、session、application
如果想要获取指定域范围中的值,使用pageScope、requestScope、sessionScope、applicatonScope

注:获取JavaBean中的属性时,属性需要提供get方法

<h4>EL表达式取值</h4>
获取指定名称的域对象:${uname } <br/>
获取session作用域的值:${sessionScope.uname } <br/>
获取JavaBean对象:${myUser }<br/>
获取JavaBean对象的属性:${myUser.userName } ----- ${myUser.getUserName() } <br/>
获取普通变量名(取不到):${a }<br/>
获取字面量的值:${1 }<br/>

<h4>EL使用字符串方法</h4>
获取字符串中是指定字符的下标:${uname.indexOf("a") }<br/>
字符串截取:${uname.substring(0,2) }<br/>


<h4>EL表达式判断为空   ${empty 域变量  }</h4>
判断空字符串:${empty str1  } <br/>
判断null:${empty str2  } <br/>
判断字符串:${empty str3  } <br/>
判断字符串:${str3 != null && str3 != ""  } <br/>

<%
//集合
	List<String> list1 = new ArrayList<>();
	list1.add("aaa");
	list1.add("bbb");
	list1.add("ccc");
	List<String> list2 = new ArrayList<>();
	List<String> list3 = null;
	request.setAttribute("list1", list1);
	request.setAttribute("list2", list2);
	request.setAttribute("list3", list3);
	
	
	List<User> userList = new ArrayList<>();
	userList.add(user);
	request.setAttribute("userList", userList);
%>
<h4>EL操作集合</h4>
判断集合不为空:${!empty list1 } <br/>
判断集合为空:${empty list1 }  -- ${empty list2 }  -- ${empty list3 } <br/>
获取集合的值:${list1[0] }<br/>
获取集合中对象的属性:${userList[0].userName }<br/>
获取集合的长度:${userList.size() }<br/>


<%
	Map<String,Object> map = new HashMap<>();
	map.put("uname","zhansgan");
	map.put("uage",18);
	map.put("usex",true);
	request.setAttribute("map", map);
%>
<h4>EL操作Map</h4>
判断map是否为空:${empty map }<br/>
获取map对象:${map }<br/>
获取map中指定的key对应的value:${map.uname }  --  ${map["uage"] }


<%
	request.setAttribute("num1", 10);
	request.setAttribute("num2", 2);
	
	request.setAttribute("aa", "aaa");
	request.setAttribute("ab", "aaa");
	request.setAttribute("ac", "bbb");

%>
<h4>EL运算</h4>
加法:${num1 + num2 } <br/>
减法:${num1 - num2 }<br/>
乘法:${num1 * num2 }<br/>
除法:${num1 / num2 } -- ${num1 div num2 }<br/>
大小比较:${num1 > num2 }  -- ${num1 >10 } --- ${(num1+num2) <= 10 }<br/>
等值比较:${aa == ab } -- ${aa eq ac }<br/>
${(num1+num2) > 10 && aa == ab }<br/>
${(num1+num2) > 10 || aa == ab }<br/>

通过pageContext对象设置指定域范围的值:

pageContext.setAttribute("userName", "Lisa", PageContext.REQUEST_SCOPE);

String userName = (String) pageContext.getAttribute("userName", PageContext.REQUEST_SCOPE);

System.out.println(userName);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值