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 代码的元素.它们通常用于对象操作以及执行那些 ...
随机推荐
- 洛谷 P1072 Hankson 的趣味题 解题报告
P1072 \(Hankson\)的趣味题 题目大意:已知有\(n\)组\(a0,a1,b0,b1\),求满足\((x,a0)=a1\),\([x,b0]=b1\)的\(x\)的个数. 数据范围:\( ...
- bzoj1874 [BeiJing2009 WinterCamp]取石子游戏
1874: [BeiJing2009 WinterCamp]取石子游戏 Time Limit: 5 Sec Memory Limit: 162 MBSubmit: 925 Solved: 381[ ...
- git 使用 gitignore
git 使用 git简介 git 命令 git 忽略文件 git 作用:版本控制 Git 是一个开源的分布式版本控制软件,用以有效.高速的处理从很小到非常大的项目版本管理. Git 最初是由Li ...
- Tomcat权威指南-读书摘要系列2
2. 配置Tomcat 2.1. 重定向Web应用程序的目录 将工程文件与Tomcat分离 复制conf和webapps文件夹到分离目录: 配置CATALINA_BASE环境变量,值为分离目录: 2. ...
- socket利用多线程实现一对多通信
1.服务器端:socket()建立套接字,绑定(bind)并监听(listen),用accept()等待客户端连接.将accept()写入死循环,每次连接一个客户端,开一个线程. 2.一般情况下建立s ...
- addEventListener() 事件监听
addEventListener() 用于向指定元素添加事件. 可以向一个元素添加多次事件或者多次不同事件,后面的事件是不会覆盖前面的. 语法: element.addEventListener(ev ...
- noi题库(noi.openjudge.cn) 1.11编程基础之二分查找T01、02、04
T01 查找最接近的元素 描述 在一个非降序列中,查找与给定值最接近的元素. 输入 第一行包含一个整数n,为非降序列长度.1 <= n <= 100000.第二行包含n个整数,为非降序列各 ...
- Git之用户凭证
由于 Git 和 Github 交互操作可能会很频繁,为了防止每次操作重复输入用户名和密码,Git 提供了两种解决方法:
- bootstrap-tooltip+validate
名称 返回类型 描述 validate(options) 返回:Validator 验证所选的FORM valid() 返回:Boolean 检查是否验证通过 rules() 返回:Options 返 ...
- Elasticsearch6.3 使用jdbc连接
Elasticsearch6.3开始执行sql,可以和使用数据库一样的CRUD进行操作elasticsearch,连接过程如下(安装下载Elasticsearch略): 一:项目中添加maven依赖 ...