Java基础82 jsp中的EL表达式(网页知识)
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表达式(网页知识)的更多相关文章
- java基础62 JavaScript中的函数(网页知识)
1.JavaScript中,函数的格式 function 函数名(形参列表){ 函数体; } 2.JavaScript中,函数需要注意的细节 1.在javaScript中,函数定义形参时,是不能使用v ...
- jsp中的el表达式没有解析
今天发现jsp中的el表达式没有解析,把解决的过程记录一下 在web.xml的web-app节点的版本改成2.4以上
- SSH 框架controller向jsp传递List jsp中使用el表达式获取
mvc可以使用ModelAndViev传递数据选择跳转的视图 controller中的代码, 把一个模拟的表单studentListSimulate传给ModelAndView @RequestMap ...
- JSP中的EL 表达式
JSP中的EL 表达式 什么是 EL 表达式,EL 表达式的作用? EL 表达式的全称是:Expression Language.是表达式语言. EL 表达式的什么作用:EL 表达式主要是代替 jsp ...
- JavaWeb -- Jsp中的 EL表达式
lEL 全名为Expression Language.EL主要作用: l获取数据: •EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数据.(某个web ...
- JSP中使用EL表达式
EL表达式 :EL 全名为Expression Language,就是为了替代<%= %>脚本表达式. EL主要作用: 获取数据: EL表达式主要用于替换JSP页面中的脚本表达式,以从各种 ...
- Jsp中的EL表达式
EL表达式作用: 向浏览器输出域对象中的变量值或表达式计算的结果!!! 语法: ${变量或表达式} 可以通过page指令来设置EL表示是否启用,false是不启用,true是启用,默认是true &l ...
- 快速学会在JSP中使用EL表达式
在没有学会EL表达式之前,我们想在JSP文件中获取servlet或者其他JSP页面传来的值,通常都是在JSP页面中编写java代码来实现.而在jsp页面编写Java 代码,这种做法时不规范的,将会产生 ...
- JSP中的EL表达式详细介绍
一.JSP EL语言定义 EL 提供了在 JSP 脚本编制元素范围外使用运行时表达式的功能.脚本编制元素是指页面中能够用于在 JSP 文件中嵌入 Java 代码的元素.它们通常用于对象操作以及执行那些 ...
随机推荐
- 在OpenShift上托管web.py应用
一.背景 最近在学习web.py,跟随官网的cookbook和code examples一路敲敲打打,在本地访问了无数遍http://0.0.0.0:8080/,也算是对web.py有了基本的认识.为 ...
- 用C语言获取任意文件的长度(可能大于2GB)#define _FILE_OFFSET_BITS 64
打开文件后用 fseek() 函数把文件位置指针移动到文件的末尾,用 ftell() 获得这时位置指针距文件头的字节数,这个字节数就是文件的长度.但是这样做也会受到下面的限制:ftell() 函数的返 ...
- 解题:POI 2011 Dynamite
题面 从零开始的DP学习系列之叁 树形DP的基本(常见?)思路:先递归进儿子,然后边回溯边决策,设状态时常设$dp[x]$表示以$x$为根的子树中(具体分析算不算$x$这个点)的情况 显然的二分答案, ...
- 2018.9.22 Bubble Cup 11-Finals(Online Mirror,Div.2)
感受了一下ACM的感觉,然后被神题和神犇们暴踩了 夭寿啦,机房大佬非法组队啊 比赛前i207M插的“怕不是不到九点就要弃疗”的flag成功生效 一开始先扫了一遍题,我一开始以为A题是个扫一遍的题,然后 ...
- C#线程篇---让你知道什么是线程(1)
线程线程,进程进程,到底什么是线程,什么是熟练多线程编程? 今天来和大家一起讨论讨论线程基础,让大家知道线程的基本构造. 说线程之前,先要了解下进程,这个可不能不知道. 什么是进程? Microsof ...
- OpenCV-跟我学一起学数字图像处理之中值滤波
中值滤波(median filter)在数字图像处理中属于空域平滑滤波的内容(spatial filtering).对消除椒盐噪声具有很好的效果. 数学原理 为了讲述的便捷,我们以灰度图为例.RGB三 ...
- [case]filesystem problem
e2fsck -Nov-) fsck.ext4: Superblock invalid, trying backup blocks... fsck.ext4: Bad magic number in ...
- vue2借助animate.css实现路由动画效果
第一步: npm install animate.css --save 第二步:打开main.js import animate from 'animate.css' Vue.use(animate) ...
- Codeforces 877 D. Olya and Energy Drinks
http://codeforces.com/contest/877/problem/D D. Olya and Energy Drinks time limit per test 2 second ...
- SVN 使用笔记
SVN中检出 和 导出 的区别 检出得到的文件夹中,是受SVN客户端控制的,对其进行文件或文件夹的增删改操作都会被SVN客户端识别出来,对其可以进行update.commit操作.其中含有.svn隐藏 ...