<%@page import="cn.hncu.domain.User"%><!--这里是进行导包-->
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <head> </head> <body> <h2>用EL表达式读取数据 </h2> <%/*凡是在下面的容器中都可以通过EL表达式读取到*/ //pageContext.setAttribute("name", "p_Jack"); request.setAttribute("name", "req_Jack"); //session.setAttribute("name", "session_Jack"); //application.setAttribute("name", "app_Jack"); %> ${name},${abc} <!-- EL表达式的内容实现机制 , 如果所读取的属性不存在,输出空字符串""(注意,不是null) --> <%=pageContext.findAttribute("name")==null ? "": pageContext.findAttribute("name") %> <br/> <!-- 用EL表达式读取JavaBean中的数据 --> <% User u = new User(); u.setId("U001"); u.setName("Tom"); u.setPwd("1234"); u.setAge(25); //把数据放到容器中 request.setAttribute("user", u); %> EL表达式中的标识符必须用"属性名"但不加引号: ${user} <br/><!-- 这里是调用user里面的toString方法 --> ${user.name}, ${user.id}, ${user.pwd}, ${user.age} <br/> <br/> <!-- 用EL表达式读取Map中的数据 --> <% Map<String,Object> map = new HashMap<String,Object>(); map.put("name", "Rose"); map.put("age", "22"); map.put("pwd", "123456"); map.put("id", "R001"); session.setAttribute("mm", map); %> 方式1,建议采用: ${mm.name},${mm.age},${mm.pwd},${mm.id} <br/> 方式2,也可以,但不建议使用: ${mm['name']},${mm['age']},${mm['pwd']},${mm['id']} <br/> ※如果属性名不符合 标识符的命名规则,那么要用第2种方式!<br/> <br/> <!-- 用EL表达式读取List中的数据 --> <% List list = new ArrayList(); list.add("湖南城院"); list.add(u); session.setAttribute("list", list); %> ${list[0]}<br/> ${list[1].name}, ${list[1].age } <br/> </body></html>