1、EL表达式的作用

EL表达式的作用:向浏览器输出域对象中的变量值或者表达式计算结果。
语法:${变量或者表达式}

注:

Jsp的核心语法:jsp的表达式<%= %>和jsp的脚本<% %>。
jsp的开发原则:尽量在jsp页面中少写甚至不写java代码,使用EL表达式替换掉jsp表达式。

2、EL表达式的语法

1) 输出基本的数据类型变量
  1.1从四个域中获取
        ${name}
  1.2指定域获取
        ${pageScope.name}
        域范围:pageScope/requestScope/sessionScope/applicationScope
2) 输出对象的属性值
  ${Student.name}     注意:.name 相当于.getName()方法
3)输出list集合
  ${list[0].name}     注意:[0] 相当于get(下标)方法
4)输出map集合
  ${map[key].name}    注意:[key] 相当于get(key)方法

3、实例

例1:

 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>EL表达式语法</title>
</head>
<body>
<%
String name="rose";
//放入域对象中
//pageContext.setAttribute("name",name);
pageContext.setAttribute("name",name,PageContext.PAGE_SCOPE);
%>
<%-- 打印到页面 --%>
<%=name %>
<br/> <%--从四个域中自动搜索--%>
jsp表达式:<%=pageContext.findAttribute("name")%>
EL表达式:${name }
<br/> <%-- 从指定域中获取数据 --%>
EL表达式:${pageScope.name }
<%--
${pageScope.name} 等同于 <%=pageContext.getAttribute("name",pageContext.PAGE_SCOPE)%>
--%>
</body>
</html>

例2

 <%@page import="com.bw.entity.Student"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>EL输出不同类型的数据</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%-- 1)EL输出对象的属性 --%>
<%
//保存数据
Student student=new Student("jack",20);
//放入域中
pageContext.setAttribute("student",student); //list集合(保存数据)
List<Student> list=new ArrayList<Student>();
list.add(new Student("rose",18));
list.add(new Student("LiLi",18));
list.add(new Student("jingjing",20));
//放入域中
pageContext.setAttribute("list",list); //Map集合(保存数据)
Map<String,Student> map=new HashMap<String,Student>();
map.put("100", new Student("Mark",20));
map.put("101", new Student("tian",30));
map.put("102", new Student("ergouzi",21));
//放入域中
pageContext.setAttribute("map", map);
%> <%--使用EL表达式获取对象 --%>
${list[0].name } - ${list[0].age }<br/>
${list[1].name } - ${list[1].age }<br/>
${list[2].name } - ${list[2].age }<br/> <%--
list[0]等价于(中括号相对于调用了get(参数)方法)
((list)pageContext.findAttribute("list")).get(0)
--%>
<hr/> <%--使用EL获取Map对象--%>
${map['100'].name } - ${map['100'].age }<br/>
${map['101'].name } - ${map['101'].age }<br/>
${map['102'].name } - ${map['102'].age }<br/>
</body>
</html>

实例结果图

例3:

 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>EL表达式计算</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
26 <%--
27 1)算术的表达式
28 + - * /
29 --%>
加法运算:${10+5 }<br/>
乘法运算:${10*5 }
<hr/> 34 <%--
35 2)比较运算符
36 > < >= <= == !=
37 --%>
${10>5 }<br/>
${10<5 }<br/>
${10!=10 }<br/>
<hr/> 43 <%--
44 3)逻辑运算符
45 && || !
46 --%>
${true && true }<br/>
${true || false }<br/>
${!false }<br/>
<hr/> 52 <%--
53 4)判断
54 null 或者 空字符串 :empty
55 --%>
<%
String name="hello";
pageContext.setAttribute("name",name);
%>
判断null: ${name==null }</br>
判断空字符串: ${name=="" }</br>
判断:${name==null || name=="" }<br/>
另一种判断空的写法:${empty name }
</body>
</html>

原创作者:DSHORE

作者主页:http://www.cnblogs.com/dshore123/

原文出自:https://www.cnblogs.com/dshore123/p/10163207.html

欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!

Java基础82 jsp中的EL表达式(网页知识)的更多相关文章

  1. java基础62 JavaScript中的函数(网页知识)

    1.JavaScript中,函数的格式 function 函数名(形参列表){ 函数体; } 2.JavaScript中,函数需要注意的细节 1.在javaScript中,函数定义形参时,是不能使用v ...

  2. jsp中的el表达式没有解析

    今天发现jsp中的el表达式没有解析,把解决的过程记录一下 在web.xml的web-app节点的版本改成2.4以上

  3. SSH 框架controller向jsp传递List jsp中使用el表达式获取

    mvc可以使用ModelAndViev传递数据选择跳转的视图 controller中的代码, 把一个模拟的表单studentListSimulate传给ModelAndView @RequestMap ...

  4. JSP中的EL 表达式

    JSP中的EL 表达式 什么是 EL 表达式,EL 表达式的作用? EL 表达式的全称是:Expression Language.是表达式语言. EL 表达式的什么作用:EL 表达式主要是代替 jsp ...

  5. JavaWeb -- Jsp中的 EL表达式

    lEL 全名为Expression Language.EL主要作用: l获取数据: •EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数据.(某个web ...

  6. JSP中使用EL表达式

    EL表达式 :EL 全名为Expression Language,就是为了替代<%= %>脚本表达式. EL主要作用: 获取数据: EL表达式主要用于替换JSP页面中的脚本表达式,以从各种 ...

  7. Jsp中的EL表达式

    EL表达式作用: 向浏览器输出域对象中的变量值或表达式计算的结果!!! 语法: ${变量或表达式} 可以通过page指令来设置EL表示是否启用,false是不启用,true是启用,默认是true &l ...

  8. 快速学会在JSP中使用EL表达式

    在没有学会EL表达式之前,我们想在JSP文件中获取servlet或者其他JSP页面传来的值,通常都是在JSP页面中编写java代码来实现.而在jsp页面编写Java 代码,这种做法时不规范的,将会产生 ...

  9. JSP中的EL表达式详细介绍

    一.JSP EL语言定义 EL 提供了在 JSP 脚本编制元素范围外使用运行时表达式的功能.脚本编制元素是指页面中能够用于在 JSP 文件中嵌入 Java 代码的元素.它们通常用于对象操作以及执行那些 ...

随机推荐

  1. 【poj3294】 Life Forms

    http://poj.org/problem?id=3294 (题目链接) 题意 给定 n 个字符串,求出现在不小于 k 个字符串中的最长子串. Solution 后缀数组论文题.. 将 n 个字符串 ...

  2. CentOS 7.0源码包搭建LNMP方法分享(实际环境下)

    CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14 一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这 ...

  3. OpenCV入门指南----人脸检测

    本篇介绍图像处理与模式识别中最热门的一个领域——人脸检测(人脸识别).人脸检测可以说是学术界的宠儿,在不少EI,SCI高级别论文都能看到它的身影.甚至很多高校学生的毕业设计都会涉及到人脸检测.当然人脸 ...

  4. bzoj 刷题计划~_~

    bzoj 2818 两个互质的数的gcd=1,所以他们同时乘一个素数那么他们的gcd=这个素数,所以枚举素数p找n/p以内有多少对互质数,用欧拉函数. bzoj 2809 可并堆,对于每一个子树显然是 ...

  5. 【Asp.net入门5-05】设置Web窗体列表的样式

  6. LINUX的文件按时间排序

    转载 2014年12月29日 00:49:23 20298 > ls -alt # 按修改时间排序 > ls --sort=time -la # 等价于> ls -alt > ...

  7. 离线下载pip包安装

    Host-A 不能上网,但是需要在上面安装python-package 通过另外一台能上网的Host-B主机 1. 下载需要离线安装的Packages 在Host-B上执行如下命令: 安装单个Pack ...

  8. Spring @Transactional注解不回滚不起作用无效

    原文地址:http://www.cnblogs.com/wuxiaofeng/p/6819209.html   这几天在项目里面发现我使用@Transactional之后,抛了异常居然不回滚.后来终于 ...

  9. CentOS安装Confluence Wiki步骤

    参考:http://supernetwork.blog.51cto.com/2304163/1187066 参考:http://yjiang.tk/?p=1085   需要的文件 CentOS-6.5 ...

  10. Redis实战(二)CentOS 7上Redis两种方式持久化

    Redis的持久化之RDB RDB方式是通过快照完成的,当符合一定条件时Redis会自动将内存中的所有数据进行快照并且存储到硬盘上. 进行快照的条件在配置文件中指定,有2个参数构成:时间和改动的键的个 ...