EL表达式
格式${表达式 }
获取四个jsp作用域的值
<% pageContext.setAttribute("name", "pageContext"); request.setAttribute("name", "request"); session.setAttribute("name", "session"); application.setAttribute("name", "aplication"); %> ${pageScope.name } ${requestScope.name } ${sessionScope.name } ${applicationScope.name } |
获取数组,List集合的值
<% int[] a={1,2,3,4}; pageContext.setAttribute("array", a); %> ${array[0] },${array[1] },${array[2] },${array[3] } |
获取Map集合的值
<% Map<String,String> map=new HashMap<String,String>(); map.put("name", "张三"); map.put("age.a", "26"); pageContext.setAttribute("ma", map); %> ${ma.name } ${ma.[“age.a”] } |
获取实体类对象中的值
<% User user=new User("张三",19); pageContext.setAttribute("user", user); %> ${user.name } ${user.age } |
User类: public class User { private String name; private int age;
public User() { super(); } public User(String name,int age) { this.name=name; this.age=age; } 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; } } |
EL表达式的十一个内置对象
pageContext:PageContext实例对应于当前页面的处理 pageScope:与页面作用域属性的名称和值相关联的Map类 requestScope:与请求作用域属性的名称和值相关联的Map类 sessionScope:与会话作用域属性的名称和值相关联的Map类 applicationScope:与应用程序作用域属性的名称和值相关联的Map类 param:按名称存储请求参数的主要值得Map类 paramValue:按请求参数所有值作为String数组存储的Map类 header:按名称存储请求头主要值得Map类 headerValue:按请求头所有值作为String数组存储的Map类 cookie:按名称存储请求头附带的Cookie的Map类 initParam:按名称存储Web应用程序上下文初始化参数的Map类 |
JSTL(JSP Standard Tab Libraryjsp标准标签库)
简化jsp的代码编写,与EL表达式配合用
导入jar包
引用标签库
<%@taglib prefix="引用名称" uri="http://java.sun.com/jsp/jstl/core" %>//这里引用名称用c |
定义
<c:set var="name" value="张三" scope="session"></c:set>//声明一个对象,值为张三,(存储到page(默认))存储到session ${sessionScope.name } |
相当于 String name=”张三”; |
判断
<c:set var="age" value="45"></c:set> <c:if test="${age>30 }"> 年龄大于6岁 </c:if> |
相当于if(age>30){ 年龄大于6岁} |
循环
<c:forEach begin="1" end="10" step="2" var="i">${i }</c:forEach> |
相当于 for(int i=1;i<=10;i+=2){ i; } |
<% List<User> list=new ArrayList<User>(); list.add(new User("张三",19)); list.add(new User("李四",18)); pageContext.setAttribute("list", list); %> <c:forEach var="user" items="${list }"> ${user.name },${user.age } </c:forEach> |
相当于 for(User user:list){ ${user.name },${user.age }; } |