什么是EL表达式
Expression Language(表达式语言)
JSP表达式语言(EL)使得访问存储在JavaBean中的数据变得非常简单。JSP EL既可以用来创建算术表达式也可以用来创建逻辑表达式。在JSP EL表达式内可以使用整型数,浮点数,字符串,常量true、false,还有null。
在JSP页面中嵌入大量的Java代码 像这样
<%
Employee employee = (Employee)request.getAttribute("employee");
Computer comp = employee.getComputer();
String manufacturer = comp.getManufacturer();
%>
使用EL表达式
${requestScope.employee.computer.manufacturer}
使用EL表达式的好处
- 替代JSP页面中的复杂代码
- 自动转换类型
EL得到某个数据时可以自动转换类型 - 使用简单
用法:
- 使用变量名获取值
JSP:
<% request.setAttribute("username","超人不会飞"); %>
EL:
用法1. ${username}
用法2. ${requstScope.username}//指定范围
变量属性范围名称
- pageScope:例如${pageScope.username},表示在page范围内查找username变量,找不到返回Null
- requestScope:例如${requestScope.username},表示在request范围内查找username变量,找不到返回Null
- sessionScope :例如${sessionScope.username},表示在request范围内查找username变量,找不到返回Null
- applicationScope:例如${applicationScope.username},表示在request范围内查找username变量,找不到返回Null
重点内容 如果没有指定范围,会依次查找
查找顺序 :page–>request–>session–>application
获取集合
JSP-List
<%
List names = new ArrayList();
names.add(0, "zhangsan");
names.add(1,"lisi");
request.setAttribute("names",names);
%
EL:取值
${names[0]}
${names[1]}
JSP
<%
Map names = new HashMap();
names.put("one","LISI");
names.put("two","ZHANGSNA");
request.setAttribute("names",names);
%>
EL:取值
${names.one}
${names["two"] }
param:返回映射至客户端的请求参数的一组值
JSP:<%request.getParameter("username") %>
EL:${param["username"]}
paramValues: 返回映射至客户端的请求参数的一组值
获取多选框可以这个
JSP:<%request.getParameterValues("checkbox") %>
EL:${paramValues["checkbox"][0]}
${paramValues["checkbox"][1]}
**paramValues["checkbox"]返回是一个数组**