EL表达式
EL表达式简介
EL(Expression Language) 是为了使JSP写起来更加简单。它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化。
EL表达式内置对象
表达式内置对象 | 说明 | |
---|---|---|
1 | pageContext | 表示javax.servlet.jsp.PageContext对象 |
2 | pageScope | 表示从page属性范围查找输出属性 |
3 | requestScope | 表示从request属性范围查找输出属性 |
4 | sessionScope | 表示从session属性范围内查找输出属性 |
5 | applicationScope | 表示从application属性范围内查找输出属性 |
6 | param | 接收传递到本页面的参数 |
7 | paramValues | 接收传递到本页面的一组参数 |
8 | header | 取得一个头信息数据 |
9 | headerValues | 取出一组头信息数据 |
10 | cookie | 取出cookie中的数据 |
11 | initParam | 取得配置的初始化参数 |
EL表达式访问4种范围属性
寻找值的顺序:page>request>session>application
<%
pageContext.setAttribute("info1", "page范围的值");
request.setAttribute("info2", "request范围的值");
session.setAttribute("info3", "session范围的值");
application.setAttribute("info4", "application范围的值");
%>
<body>
<h1>${info1}</h1>
<h1>${info2}</h1>
<h1>${info3}</h1>
<h1>${info4}</h1>
</body>
</html>
输出结果
<%
pageContext.setAttribute("info1", "page范围的值");
request.setAttribute("info1", "request范围的值");
session.setAttribute("info1", "session范围的值");
application.setAttribute("info1", "application范围的值");
%>
<body>
<h1>${info1}</h1>
</body>
</html>
输出结果
EL表达式接收请求参数
param单个参数
<form action="el2.jsp" method="post">
<input type="text" name="name" />
<input type="submit" value="提交" />
</form>
``
<%
request.setCharacterEncoding(“utf-8”);
%>
姓名:${param.name }
``paramValues一组参数
<form action="el2.jsp" method="post">
<input type="checkbox" name="hobby" value="篮球"/>篮球
<input type="checkbox" name="hobby" value="足球"/>足球
<input type="checkbox" name="hobby" value="乒乓球"/>乒乓球
<input type="submit" value="提交"/>
</form>
<h1>爱好一:${paramValues.hobby[0] }</h1>
<h1>爱好二:${paramValues.hobby[1] }</h1>
<h1>爱好三:${paramValues.hobby[2] }</h1>
EL表达式对象操作
建立实体类
package model;
public class People {
private int id;
private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
<%@ page import="model.People" %>
<%
People zhangsan = new People();
zhangsan.setId(1);
zhangsan.setName("张三");
zhangsan.setAge(20);
request.setAttribute("zhangsan", zhangsan);
%>
<h1>编号:${zhangsan.id }</h1>
<h1>姓名:${zhangsan.name }</h1>
<h1>年龄:${zhangsan.age }</h1>
EL表达式集合操作
<%
List lists = new LinkedList();
lists.add(0,"元素1");
lists.add(1,"元素2");
lists.add(2,"元素3");
request.setAttribute("lists", lists);
%>
<h1>${lists[0] }</h1>
<h1>${lists[1] }</h1>
<h1>${lists[2] }</h1>
EL 表达式运算符操作
算数运算符,关系运算符,逻辑运算符;
三目运算符;
Empty 关键字;