EL表达式
1.EL表达式是一种表达式语言,主要用于数据的展示相关操作。未来EL表达式会配合jstl标签完成jsp页面数据的展示。EL表达式会替换掉大部分脚本。
2.语法:
${表达式}
注意:使用EL表达式的jsp页面要保证isELIgnored=false
3.EL表达式的使用
3.1算数运算的使用
1+1=${1+1 }<br>
1-1=${1-1 }<br>
1*1=${1*1 }<br>
1/1=${1/1 }
3.2关系运算的使用
1>2 ==> ${1>2 } - ${1 gt 2 }<br>
1<2 ==> ${1<2 } - ${1 lt 2 }<br>
1==2 ==> ${1==2 } - ${1 eq 2 }<br>
1>=2 ==> ${1>=2 } - ${1 ge 2 }<br>
1<=2 ==> ${1<=2 } - ${1 le 2 }<br>
1!=2 ==> ${1!=2 } - ${1 ne 2 }
3.3逻辑运算的使用 and or
${1>2 and 1<2 } - ${1>2 && 1<2 }<br>
${1>2 or 1<2 } - ${1>2 || 1<2 }<br>
${!(1>2 and 1<2) } - ${not(1>2 && 1<2) }
4.使用EL表达式从作用域取数据
4.1基本语法
request:${requestScope.name} == <%=request.getAttribute(name)%>
pageContext:${pageScope.name} == <%=pageContext.getAttribute(name)%>
4.2取自定义对象类型的属性值
<%Student stu = new Student(1,"小红","18");
request.setAttribute("stu", stu);
%>
${requestScope.stu.name }
${requestScope.stu.age }
4.3获取list集合元素的值
<%List<String> list = new ArrayList<String>();
list.add("小王");
list.add("小李");
list.add("小张");
request.setAttribute("list", list);
%>
${requestScope.list[1] } //小李
4.4获取map集合元素的值
<%Map<String,String> map = new HashMap();
map.put("一号", "西施");
map.put("二号", "貂蝉");
map.put("三号", "王昭君");
map.put("四号", "杨玉环");
request.setAttribute("map", map);
%>
${requestScope.map['二号'] } //根据key取value
5.从作用域搜索命名属性 从小到大
${name} == <%=pageContext.findAttribute()%>
6.EL表达式中的其他内置对象
6.1pageContext:实现动态获取项目名
${pageContext.request.ContextPath}相当于request.getContextPath()
6.2param:实现获取客户端请求参数
${param.name}相当于request.getParameter("name");
6.3paramValues:获取一组请求参数
${paramValues.hobby[0]}