EL表达式读取数据(在Map,javaBean,List)

<%@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>

 

posted @ 2016-10-19 10:16  折腾青春  阅读(2376)  评论(0编辑  收藏  举报