(九)el表达式的使用

一、bean封装

public class Person {

	private String name="张三";
	private int age;
	private Date birthday;
	private Address addr;

	public Person() {
		super();
	}
	public Person(String name) {
		super();
		this.name = name;
	}
	public Address getAddr() {
		return addr;
	}
	public void setAddr(Address addr) {
		this.addr = addr;
	}
	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;
	}
}
public class Address {

	private String city;

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}
}

二、el表达式显示(模拟数据库)  

<body>
	<!-- 普通方式传递数据 -->
	<%
		String data="abcd";
		request.setAttribute("data",data);
	%>

	${data}  <%-- pageContext.findAttribute("data") --%>
	</br>

	<!-- 数据从bean带过来 -->
	<%
		Person p=new Person();
		p.setName("张三");
		request.setAttribute("person",p);
	%>

	${person.name}
	</br>

	<!-- 数据从复杂bean带过来 -->
	<%
		Person p1=new Person();
		Address a=new Address();
		a.setCity("上海");
		p1.setAddr(a);

		request.setAttribute("p1",p1);
	%>

	${p1.addr.city}
	</br>

	<!-- 产生多个数据 -->
	<%
		List list=new ArrayList();
		list.add(new Person("aa"));
		list.add(new Person("bb"));
		list.add(new Person("cc"));

		request.setAttribute("list",list);
	%>

	${list[1].name}
	</br>
	<%
		Map map=new HashMap();
		map.put("aaa",new Person("a"));
		map.put("bbb",new Person("b"));
		map.put("ccc",new Person("c"));
		map.put("ddd",new Person("d"));
		request.setAttribute("map",map);
	%>

	${map.aaa.name}
	</br>

	<!-- 获取当前web应用的名字 -->
	${pageContext.request.contextPath }
	<a href="${pageContext.request.contextPath }/2.jsp">点击我</a>

</body>

三、使用jstl+el完成集合迭代

在页面中使用JSTL标签需要完成的两个步骤:

  1)导入jstl.jar和standard.jar这两个jar包

   2)在JSP页面中使用<%@tablib url="" prefix="" %>元素导入标签库    (uri standard.jar -> meta-inf -> c.tlduri standard.jar -> meta-inf -> c.tld

JSTL标签库中常用标签:
  <c:foreach var="" items="">
  <c:if test="">

<body>
	<%
		List list=new ArrayList();
		list.add(new Person("aa"));
		list.add(new Person("bb"));
		list.add(new Person("cc"));

		request.setAttribute("list",list);
	%>
	<c:forEach var="person" items="${list}">
		${person.name }</br>
	</c:forEach>
	</br>

	<%
		Map map=new HashMap();
		map.put("aaa",new Person("aaa"));
		map.put("bbb",new Person("bbb"));
		map.put("ccc",new Person("ccc"));
		map.put("ddd",new Person("ddd"));
		request.setAttribute("map",map);
	%>
	<c:forEach items="${map}" var="entry">
		${entry.key}:${entry.value.name} </br>
	</c:forEach>

	</br>

	<!-- 代表用户登陆了 -->
	<c:if test="${user!=null}">
		欢迎您:${user.username}
	</c:if>

	<c:if test="${user=null}">
		用户名:<input type="text"/>
		密  码:<input type="password"/>
	</c:if>
</body>

  

  

  

  

时间: 2024-11-05 10:20:08

(九)el表达式的使用的相关文章

javaweb学习总结(二十九)——EL表达式

一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数据.(某个web域 中的对象,访问javabean的属性.访问list集合.访问map集合.访问数组) 2.执行运算 利用EL表达式可以在JSP页面中执行一些基本的关系运算.逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算.${user==null} 3.获取web开发常用对象 EL 表达

四大域对象,和jsp的九大隐式对象,已经el表达式的11个隐式对象

四大域对象 1.PageContext :页面范围的数据 2.ServletRequest:请求范围的数据 3.HttpSession:回话范围的数据 4.ServletContext:应用范围的数据 JSP的九大隐式对象 1.out 输出流对象 2.request请求对象 3.response 响应对象 4.config 配置对象 5.session 回话对象 6.application 应用程序对象 7.page 页面对象 8.pageContext 页面上下文对象 9.exception

JSP三大指令,九大内置对象,JSP动作标签,EL表达式与函数库

JSP三大指令 ---------------------------------------------- 一个jsp页面中,可以有0~N个指令的定义! 1. page --> 最复杂:格式:<%@page language="java" info="xxx"...%> * pageEncoding和contentType: > pageEncoding:它指定当前jsp页面的编码,只要不说谎,就不会有乱码!在服务器要把jsp编译成.jav

jsp三大指令,九大内置对象,JSP动作标签,EL表达式及函数库

JSP三大指令 一个jsp页面中,可以有0~N个指令的定义! page –> 最复杂:格式:<%@page language="java" info="xxx"-%> pageEncoding和contentType: pageEncoding:它指定当前jsp页面的编码,只要不说谎,就不会有乱码!在服务器要把jsp编译成.java时需要使用pageEncoding! contentType:它表示添加一个响应头:Content-Type!等同于r

JSP学习 三大指令、九个内置对象、JavaBean、EL表达式

1.page-->最复杂:<%@page language="java" info="xxx"...%> * pageEncoding和contentType: >pageEncoding:它指定当前jsp页面的编码,在服务器要把jsp编译成.java时需要使用pageEncoding. >contentType:它标识添加一个响应头 Content-Type 等同于response.setContentType("text/

JavaWeb学习之什么JSP、JSP是如何工作的、JSP语言(各种指令和九大内置对象)、EL表达式简单使用(5)

1.什么JSP * servlet:java编写的处理动态web的技术 * 特点:Java代码中嵌套html代码 * jsp * 特点:HTMl代码中嵌套java代码 * %tomcat%/conf/web.xml --> <servlet-mapping><servlet-name>*.jsp * 目的:将页面数据处理与页面显示相分离 2.JSP是如何工作的 * 继承关系 * public final class demo_jsp extends org.apache.ja

JavaWeb系列之九(jsp,javabean,el表达式)

 1.jsp:java server pages,java服务器端的页面 sun公司提供开发动态网站的技术servlet jsp jsp会编译成servlet,会放到tomcata的work目录 jsp的包含:html+java代码+jsp自身指令 有三种方式: <%! %> <% %> <%= %> 题目 <%=x %>//把成员变量x的值输出 <% x=5; %>//把成员x变量赋值为5 <% int x = 10; %>//

JAVAWEB开发之Session的追踪创建和销毁、JSP详解(指令,标签,内置对象,动作即转发和包含)、JavaBean及内省技术以及EL表达式获取内容的使用

Session的追踪技术 已知Session是利用cookie机制的服务器端技术,当客户端第一次访问资源时 如果调用request.getSession() 就会在服务器端创建一个由浏览器独享的session空间,并分配一个唯一且名称为JSESSIONID的cookie发送到浏览器端,如果浏览器没有禁用cookie的话,当浏览器再次访问项目中的Servlet程序时会将JSESSIONID带着,这时JSESSIONID就像唯一的一把钥匙  开启服务器端对应的session空间,进而获取到sessi

session和el表达式

2015/1/21 ## 回顾昨天案例 ## # 模拟购物车: >> 基本步骤: |-- 显示所有的书籍: |-- 制作书记列表/模仿数据库: |-- 参见昨天示例: |-- 制作查看详情链接: |-- 参见昨天示例: |-- 显示购物车中的所有商品: |-- request.getSession(); --- 得到session对象: |-- 假定购物车的名字 "cart"; |-- 用集合制作购物车: |-- 可以用泛型限定购买的商品类型: |-- 遍历; |-- 先判