使用EL表达式获取数据和使用JSTL标签库迭代容器
来源:互联网 发布:java多态的实现方式 编辑:程序博客网 时间:2024/06/06 02:59
为了避免在JSP页面中出现Java代码和显示Servlet处理完成带过来的数据并且显示,使用EL表达式会非常容易而且简介,但是对于存放在容器中的数据,EL表达式不能单独完成迭代输出,所以必须使用JSTL标签库配合使用,这个是JavaEE附带的一个非常强大的标签库,估计在以后还会用到。
首先是EL表达式的几个不同情况的用法
<%@page import="com.bird.domain.Db"%><%@page import="com.bird.domain.Address"%><%@page import="com.bird.domain.Person"%><%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>EL表达式的应用</title> </head> <body> <% String date = "abcd"; request.setAttribute("date",date); %> ${date} <!-- 会被翻译成pageContext.findAttribute("date")分别从page,request,session,servletcontext查找 如果寻找不到,则返回“”空字符串 --> <% Person p = new Person(); p.setName("小白"); request.setAttribute("person",p); %> ${person.name} <% Person p1= new Person(); Address a = new Address(); a.setCity("北京"); p1.setAddress(a); request.setAttribute("p1",p1); %> ${p1.address.city} <% List<Db> list = new ArrayList<Db>(); list.add(new Db("aaaaaa")); list.add(new Db("bbbbbb")); list.add(new Db("cccccc")); request.setAttribute("list",list); %> ${list[1].name } <% Map map = new HashMap(); map.put("aa",new Db("aaaa")); map.put("bb",new Db("bbbb")); map.put("cc",new Db("cccc")); map.put("dd",new Db("dddd")); request.setAttribute("map",map); %> ${map.aa.name }<%--用表达式一般用点号,点号不行用[] --%> ${pageContext.request.contextPath } </body></html>
下面的是使用El表达式和JSTL标签库配合使用来完成容器的迭代
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%><%@page import="com.bird.domain.Db"%><%@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<Db> list = new ArrayList<Db>(); list.add(new Db("aaaaaa")); list.add(new Db("bbbbbb")); list.add(new Db("cccccc")); request.setAttribute("list",list); %> <c:forEach var="person" items="${list }"> ${person.name } </c:forEach> <br/> <% Map map = new HashMap(); map.put("aa",new Db("aaaa")); map.put("bb",new Db("bbbb")); map.put("cc",new Db("cccc")); map.put("dd",new Db("dddd")); request.setAttribute("map",map); %> <c:forEach var="entry" items="${map }"> ${entry.key } : ${entry.value.name } </c:forEach> </body></html>
- 使用EL表达式获取数据和使用JSTL标签库迭代容器
- EL表达式和JSTL标签库使用
- EL表达式和JSTL标签库使用
- EL表达式 JSTL标签获取数据
- JSP和El表达式和JSTL标签库使用
- JSTL核心标签库和EL表达式的联合使用
- EL表达式和JSTL标签库使用详解
- EL表达式配合jstl标签的使用
- EL表达式与JSTL标签的使用
- java jstl标签el表达式使用
- jsp默认语法、EL、JSTL表达式,JSTL和struts Tag标签的使用总结
- java默认语法、EL、JSTL表达式,JSTL和struts Tag标签的使用总结
- EL表达式和JSTL标签
- EL表达式和 JSTL标签
- el表达式和jstl标签
- EL表达式和JSTL标签
- EL表达式和JSTL标签
- EL表达式和JSTL标签
- 撒列实现关键字过滤,速度可快了
- Linux-world-2012-January->16(mini2440 uboot201103 系统移植)->3(machine ID problem)-2
- git的用法
- 关于TortoiseSVN的全局忽略列表
- 让腾讯TM可以绿色运行
- 使用EL表达式获取数据和使用JSTL标签库迭代容器
- Linux中通过script命令那个记录屏幕的输出
- Linux-world-2012-January->16(mini2440 uboot201103 系统移植)->3(成功修正 machine ID problem!)-3
- 442 - Matrix Chain Multiplication***
- 10152 - ShellSort
- 安装完Fedora 16 您需要做什么?
- Fedora16安装后的工作
- Poj 2492 A Bug's Life
- 540 - Team Queue***