EL表达式和JSTL标签

来源:互联网 发布:风险矩阵模型 编辑:程序博客网 时间:2024/04/29 12:57
(1)EL表达式用于获取数据,在JSP页面中可以使用${标示符}的形式,通知JSP引擎调用pageContext.findAttribute()方法,以标示符为关键字从各个域对象中获取对象。如果域对象中不存在标示符所对应的对象,则返回结果为""(注意:不是null)。
eg:使用EL表达式获取request、session、application域中的数据。
(2)EL表达式中也可以使用${customerBean.address}的形式来访问JavaBean对象的属性。
结合JSTL标签,EL表达式也可轻松获取各种集合中的元素。
eg:使用EL表达式获取List、Map集合中的元素。

(3)EL表达式也可以使用类如${1==1}的形式进行简单的逻辑判断。


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="com.saly.domain.Person"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>JSTL+EL</title>
  </head>
  <body>
 
       <%
       List list = new ArrayList();
       list.add(new Person("saly"));
       list.add(new Person("feng"));
       request.setAttribute("list",list);
       Map map = new HashMap();
       map.put("aaa",new Person("shali1"));
       map.put("bbb",new Person("shali2"));
       map.put("ccc",new Person("shali3"));
       request.setAttribute("map",map);
        %>
        <!-- 遍历List -->
        <c:forEach var="person" items="${list}">
            ${person.name}<br/>
        </c:forEach>
        <br/>
        ....................................
        <br/>

        <!-- 遍历Map -->
        <c:forEach var="entry" items="${map}">
            ${entry.key}:${entry.value.name}<br/>
        </c:forEach>

        <!-- if语句 -->
        <c:if test="user!=null">
            ${登录成功 }
        </c:if>
        <c:if test="user==null">
            ${登录失败}
        </c:if>

  </body>
</html>