示例:使用EL表达式获取request、session、applection域中的数据。
EL表达式中也可以使用${customerBean.address}的形式来访问JavaBean对象的属性。
示例:使用EL表达式获取Bean属性。
结合JSTL标签,EL表达式也可轻松获取各种集合中的元素。
示例:使用EL表达式获取List、Map集合中的元素。
EL表达式也可使用类如${1==1}的形式进行简单的逻辑判断。
1、导入jstl.jar和standerd.jar这两个JSTL的jar文件。
2、在JSP页面中使用<%@tablib url=“” prifix=“”%>元素导入标签库。
•JSTL标签库中常用标签:<c:foreach var=“”items=“”>
<c:if test=“”>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="cn.itcast.domain.Person"%>
<%@page import="cn.itcast.domain.Address"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>el表达式</title>
</head>
<body>
<%
request.setAttribute("name","xxx");
%>
${name1 } <!-- pageContext.finaAttribute("name") page request session application -->
<br/>--------------el表达式可以很方便的获取bean的属性0-----------<br/>
<%
Person p = new Person();
p.setAge(12);
request.setAttribute("person",p);
%>
${person.age }
<br/>--------------el表达式可以很方便的获取bean中的bean中的。。。。的属性-----------<br/>
<%
p = new Person();
p.setAddress(new Address());
request.setAttribute("person",p);
%>
${person.address.city }
<br/>--------------el表达式可以很方便的获取集合中的数据-----------<br/>
<%
List list = new ArrayList();
list.add(new Person());
list.add("aaa");
request.setAttribute("list",list);
%>
${list[0].age }
${list[1] }
<br/>--------------el表达式可以很方便的获取map集合中的数据-----------<br/>
<%
Map map = new HashMap();
map.put("aa","xxx");
map.put("bb","yyyy");
map.put("cc","zzzzz");
map.put("1","11111");
request.setAttribute("map",map);
%>
${map.aa }
${map["1"] }
<br/>--------------其它的常用el表达式-----------<br/>
<a href="/test/1.jsp">点点</a>
<a href="${pageContext.request.contextPath }/1.jsp">点点</a>
<a href="${pageContext.request.contextPath }/1.jsp">点点</a>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@page import="cn.itcast.domain.Person"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>jstl示例代码</title>
</head>
<body>
<br/>--------------使用jstl+el表达式迭代集合中的数据-----------<br/>
<%
List list = new ArrayList();
list.add(new Person("aaa"));
list.add(new Person("bbb"));
list.add(new Person("ccc"));
request.setAttribute("list",list);
%>
<c:forEach var="person" items="${list}">
${person.name }
</c:forEach>
<br/>--------------使用jstl+el表达式迭代map集合中的数据-----------<br/>
<%
Map map = new HashMap();
map.put("aa","xxx");
map.put("bb","yyyy");
map.put("cc","zzzzz");
map.put("1","11111");
request.setAttribute("m",map);
%>
<c:forEach var="me" items="${m}">
${me.key } = ${me.value }<br/>
</c:forEach>
<c:if test="${user!=null}">
欢迎您:${user.username }
</c:if>
<c:if test="${user==null}">
<form>
用户名
</form>
</c:if>
</body>
</html>