EL获取域中数据
jsp中内置了EL表达式,主要目的是为了简化获得域数据的方式
语法:${域对象Scope.key}
域对象:request session application
${requestScope.key}<br>
${sessionScope.key}<br>
${applicationScope.key}<br>
${key}不需要指定域,若三个域中存在相同key的值,且不为空。则获取顺序是按照域对象从小到大。
EL获取自定义数据
- 获得数组
<%
String[] arr={"a","b","c"};
request.setAttribute("arr",arr);
%>
${arr[1]}
- 获得JavaBean
<%
User user=new User("张三",18);
request.setAttribute("user",user);
%>
${user.name}
${user.age}
获得对象属性的根据是getXXX()方法
- 获得List集合
<%
List<String> list=new ArrayList<String>();
list.add("q");
list.add("w");
request.setAttribute("list",list);
%>
${list[0]}
${list[1]}
- 获得Map
<%
Map<String,String> map=new HashMap<String,String>();
map.put("key1","value1");
map.put("key2","value2");
request.setAttribute("map",map);
%>
${map.key2}
EL表达式运算符
${1} // 1
${1+1} // 2
${"1"+1} // 2
${'1'+1} // 2
${a+1} // 1(a未赋初值)
${"a"+1} // 报错 数字格式异常
${not true}
${empty}