javaweb之jstl+el完成数据迭代
2014-03-17 11:10
459 查看
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@page import="test.domain.Person"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>使用jstl+el完成数据迭代</title> </head> <body> <%--模仿servlet转发数据给JSP 数据以集合形式带过来--%> <% List<Person> list = new ArrayList<Person>(); list.add(new Person("aaa")); list.add(new Person("bbb")); list.add(new Person("ccc")); request.setAttribute("list", list); %> <%--在JSP中迭代数据 --%> <c:forEach var="person" items="${list}"> <%-- var:把每次迭代的值用变量记住 items:迭代的集合 --%> ${person.name}<br/><%-- 拿到迭代出来的每个对象的名称 --%> </c:forEach> <%--模仿servlet转发数据给JSP 数据以Map集合形式带过来--%> <% Map<String,Person> map = new HashMap<String,Person>(); map.put("aa", new Person("aaaaaa")); map.put("bb", new Person("bbbbbb")); map.put("cc", new Person("cccccc")); map.put("dd", new Person("dddddd")); map.put("11", new Person("111111")); request.setAttribute("map", map); %> <%--在JSP中迭代Map集合数据 --%> <%-- 其实forEach在对Map集合进行迭代的时候,并不是对Map集合进行迭代 ,而是对Map的entrySet方法返回的Set集合进行迭代, Set集合中每个值是Map.entry(Set<Map.entry>),所以说forEach标签中每次迭代出的值是个entry --%> <c:forEach var="entry" items="${map }"> ${entry.key }:${entry.value.name}<br/><%-- 拿到迭代出来的每个Map.entry对象的key和value的name属性 --%> </c:forEach> <%--代表用户登陆了,用户登陆了后user会存在session域中 --%> <c:if test="${user!=null}"> 欢迎您:${user.username} </c:if> <%--代表用户没登陆了,给用户输出一个登录表单--%> <c:if test="${user==null}"> <form action="" method="post"> 用户名:<input type="text" name="username"/><br/> 密码:<input type="password" name="password"/><br/> <input type="submit" value="登录"/><br/> </form> </c:if> </body> </html>
package test.domain; import java.util.Date; public class Person { private String name="aaa"; private int age; private Date birthday; public Person() { super(); // TODO Auto-generated constructor stub } public Person(String name) { super(); this.name = name; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } 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; } }
使用jstl需要引入:jstl.jar和standard.jar这两个jar包并在页面中使用<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>元素导入标签库
相关文章推荐
- 【JavaWeb-18】ActionContext存取数据、ValueStack存取值、EL新查找顺序、iterator、OGNL投影、其他标签、UI主题、防重复提交
- [JAVAWEB]4.用jQuery完成数据验证和表单提交
- Java_Web之JSTL和EL
- java-例子:MVC模式,用jstl和el输出数据到jsp页面.
- 【javaweb:el&jstl】通过模拟用户登录,使网页"登录""测试"部分变成“用户”和“退出”
- Java Web 自定义标签 JSTL及EL语言
- Java Web入门之EL、JSTL、自定义标签要点
- JavaWeb--------el & jstl
- 面试题-Java Web-JSTL/EL部分
- 详解javaweb中jstl如何循环List中的Map数据
- Java Web day(8)之EL拓展对象JSTL及mcv,javaweb三层框架简介
- javaWeb jstl的基本库的定义, 迭代循环, 条件判断
- Java Web EL JSTL的用法
- JavaWeb_Day10_学习笔记1_response(3、4、5、6、7、8、9)发送状态码、响应、重定向、定时刷新、禁用浏览器缓存、响应字节数据、快捷重定向方法、完成防盗链
- java-使用 freemarker 替换 jstl EL 开发 springmvc web项目
- JAVA WEB从入门到精通day13 Jsp详解和EL,JSTL详解
- javaweb中增强for循环的应用和集合迭代的用发示例
- 02-JavaWeb-JSTL标签
- javaweb之request获取请求头和请求数据
- Android使用webview控件加载本地html,通过Js与后台Java实现数据的传递