一、初次接触EL表达式:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>EL表达式接触</title>
</head>
<body>
<%
String name = "mzy";
// 把变量放入域对象中 name value
pageContext.setAttribute("name", name);
pageContext.setAttribute("name", name, PageContext.REQUEST_SCOPE);
%>
<%=name %>
<br/>
EL表达式:${name}
<br/>
<%--
1) 以上的写法,EL从四个域中自动搜索
${name} 等价于<%=pageContext.findAttribute("name") %>
--%> <%--
2) EL从指定的域中获取
pageScope:page域
requestScope:request域
sessionScope:session域
applicationScope:application域
--%>
指定域获取的EL:${pageScope.name}
${name }
<%
response.sendRedirect("04pre_04el.jsp");
%>
</body>
</html>

二、使用EL表达式从不同类型的容器中获得数据:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false"%>
<%@ page import="entity.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>EL表达式获取不同类型的数据</title>
</head>
<body>
<%--
1) 普通的字符串
--%>
<%
String email = "zhangsan@qq.com";
// 一定要把数据放入域中
pageContext.setAttribute("email", email);
%>
普通字符串:${email }
<hr/>
<%--
2) 普通的对象
EL表达式的属性表示调用对象的getXX方法。例如
stu.name 调用Student对象的getName()方法
--%>
<%
Student stu = new Student("mzy", "123456");
pageContext.setAttribute("stu", stu);
%>
普通的对象:${stu} <br/>
对象的属性: ${stu.name } ---- ${stu.id }
<hr/>
<%--
3) 数组或List集合(集合只能是List集合)
--%>
<%
// 数组
Student[] stus = new Student[3];
stus[0] = new Student("Jack", "123456");
stus[1] = new Student("Bob", "123456");
stus[2] = new Student("Rose", "123456"); pageContext.setAttribute("stus", stus);
// List
List<Student> list = new ArrayList<Student>();
list.add(new Student("Jack", "654321"));
list.add(new Student("Bob", "654321"));
list.add(new Student("Rose", "654321"));
pageContext.setAttribute("list", list);
%>
<%--
在EL表达式中,不能循环,取元素只能单个单个的取
--%>
数组:<br/>
${stus[0].name } -- ${stus[0].id }<br/>
${stus[1].name } -- ${stus[1].id }<br/>
${stus[2].name } -- ${stus[2].id }<br/>
<hr/>
list集合:<br/>
${list[0].name } -- ${list[0].id }<br/>
${list[1].name } -- ${list[1].id }<br/>
${list[2].name } -- ${list[2].id }<br/>
<hr/>
<%--
4) Map集合
--%>
<%
Map<String,Student> map = new HashMap<String,Student>();
map.put("001",new Student("eric","123456"));
map.put("002",new Student("jacky","123456"));
map.put("003",new Student("rose","123456"));
pageContext.setAttribute("map",map);
%>
Map集合: <br/>
${map['001'].name } - ${map['001'].id }<br/>
${map['002'].name } - ${map['002'].id }<br/>
${map['003'].name } - ${map['003'].id }<br/>
</body>
</html>

三、EL中可执行的算式:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>EL中可以执行的算式</title>
</head>
<body>
<%--
1) 算数表达式: + - * /
--%>
<%
int a = 10;
int b = 5;
pageContext.setAttribute("a", a);
pageContext.setAttribute("b", b);
%>
${a+b }<br>
${a-b }<br>
${a*b }<br>
<hr> <%--
2) 比较表达式:> < >= <=
--%>
${a>b }<br>
${a==b }<br>
<hr> <%--
3) 逻辑表达式: &&、||、!
--%>
${true&&true }<br>
${true||false }<br>
${!true }<br>
${!(a>b) }
<hr/>
<%--
4) 判空表达式 empty
null: == null
空字符串:==""
--%>
<%
// String name = null;
String name01 = null;
String name02 = "";
pageContext.setAttribute("name01", name01);
pageContext.setAttribute("name02", name02);
%>
null:${name01 == null }<br>
空字符串:${name02 == "" }<br>
null或空字符串:${name01 == null || name01 =="" }<br>
null或空字符串可以直接用empty进行判断:${empty name01 }
</body>
</html>


EL表达式学习(一)的更多相关文章

  1. EL表达式学习

    EL表达式取值 1.EL表达式的语法格式很简单: 以前编写jsp代码时,如果要获取表单中的用户名,一般使用 <%=request.getParameter("name")%& ...

  2. EL表达式学习笔记

     转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6684424.html  一:EL表达式的用途 1.获取数据:(某个web域 中的对象,访问javabean的 ...

  3. EL表达式学习(二)

    1.从特定域中获取值: 2.从请求页面的input标签中,获取值:(同servlet中的getParameter和getParameterValues): 3.获取请求头(同servlet中的getH ...

  4. jsp学习---mvc模式介绍和el表达式,jstl标签库的使用入门

    一.mvc模式介绍 下图是常用的mvc分层模式: 项目中的包命名规则,一般如下: com.amos.domain 封装JavaBean,一般我喜欢用model命名这个包com.amos.dao 封装d ...

  5. EL表达式-例子

    <%@page import="java.util.*"%> <%@page import="java.util.ArrayList"%> ...

  6. El 表达式和 Jstl 标签库

    El 表达式学习 1. 什么是 EL 表达式 全称:Expression Language,一种写法非常简介的表达式.语法简单易懂,便于使用.表达式语言的灵感来自于 ECMAScript 和XPath ...

  7. EL表达式详解(常用表达式以及取值)

    EL表达式 学习总结 一. El表达式概念 二. El中的表达式 1. 算术表达式 2. 比较表达式 3. 逻辑表达式 4. 三元表达式 5. 判空表达式 三.EL 从四个作用域中取值 1. 概念 2 ...

  8. java学习笔记—EL表达式(38)

    EL表达式 EL即Expression Language,主要的任务是帮助开发者简化获取域属性. 但是一般情况下需要使用EL和JSTL结合使用. 语法: ${ // 隐含对象|直接写域中的属性 }  ...

  9. Java学习——JSTL标签与EL表达式之间的微妙关系

    原文总结的太好了,忍不住记录.转发. 原文地址:http://blog.csdn.net/u010168160/article/details/49182867 目录(?)[-] 一EL表达式 EL相 ...

随机推荐

  1. 大疆M3508、M2006必备CAN总线知识与配置方法

    使用大疆M3508.M2006的CAN总线知识与配置方法 目录 使用大疆M3508.M2006的CAN总线知识与配置方法 前言: 0x00 需要额外的CAN收发器!!! 0x01 硬件层面分析 为什么 ...

  2. java并发编程基础——线程相关的类

    线程相关类 java还为线程安全提供了一些工具类. 一.ThreadLocal类(Thread Local Variable) ThreadLocal类,是线程局部变量的意思.功用非常简单,就是为每一 ...

  3. ls仅列出当前目录下的所有目录

    ls -d */ -d仅列出目录本身,而不列出其中的内容 *通配符,所有的字符 /目录的标识

  4. MySql存储过程的创建与使用及在thinkphp中如何调用笔记

    学习sql的存储过程,笔记总结如下: MySQL默认将分号,即";"作为语句的分隔符.如果是这样的话,则一个存储过程将很难正常创建,因为它的BEGIN和END之间可以是任意数量的S ...

  5. springboot多个service互相调用的事务处理(十三)

    在一个service的方法A中,调用另一个service的方法B,方法A和方法B均存在数据库插入操作,需要添加如下配置: @Transactional(rollbackFor = Exception. ...

  6. Spring in Action学习笔记(1)

    Spring基础 IoC 控制反转, 也称为DI-依赖注入 一.装配bean 推荐顺序:自动装配 -> JavaConfig装配 -> XML装配 1. 自动装配 @Component 注 ...

  7. 🏆【Java技术专区】「探针Agent专题」Java Agent探针的技术介绍(1)

    前提概要 Java调式.热部署.JVM背后的支持者Java Agent: 各个 Java IDE 的调试功能,例如 eclipse.IntelliJ : 热部署功能,例如 JRebel.XRebel. ...

  8. Centos 7 安装mysql5.7 nginx tomcat

  9. 测试开发【提测平台】分享3-正式开发产品需求&项目初始化

    上两个分享主要是介绍和演示基本前后端所要使用的框架,接下来我们将正式进入到[提测平台的开发] 提要先给出依赖和内容点: 提测平台定义和产品原型需求说明 使用github创建代码仓库进行项目管理 Fla ...

  10. C++ //纯虚函数和抽象类 // 语法 virtual 返回值类型 函数名 (参数列表)=0 //当类中有了纯虚函数 这个类也称为抽象类

    1 //纯虚函数和抽象类 2 // 语法 virtual 返回值类型 函数名 (参数列表)=0 3 //当类中有了纯虚函数 这个类也称为抽象类 4 5 6 #include <iostream& ...