JavaWeb_EL表达式存储数据及获得项目路径
菜鸟教程 传送门
EL表达式【百度百科】:EL(Expression Language) 是为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化
EL表达式获得当前项目路径可以通过Page作用域去获取
${pageContext.request.contextPath}
操作简单数据
<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Insert title here</title> </head> <body> 作用域:page request session application <hr> <% request.setAttribute("number",2000); session.setAttribute("use","Hello Gary!!!"); application.setAttribute("string","nihao");//同名情况 直接使用${wa}只会从request->session->application request.setAttribute("wa",1); session.setAttribute("wa",2); application.setAttribute("wa",3); %>request :${requestScope.number}<br> session :${sessionScope.use}<br> application :${applicationScope.string}<br><br>${wa}<br><% request.removeAttribute("wa"); //将request域中"wa"给删除 %>${wa}<br> </body> </html>
el.jsp
输出:
作用域:page request session application request :2000 session :Hello Gary!!! application :nihao12
el表达式从map集合和对象里面取得数据
package com.Gary.model;public class User {private String username;private String password;private int age;private String sex;private boolean isAdmin=false; //判断是否是管理员账号public User(String username, String password, int age, String sex, boolean isAdmin) {super();this.username = username;this.password = password;this.age = age;this.sex = sex;this.isAdmin = isAdmin;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public boolean isAdmin() {return isAdmin;}public void setAdmin(boolean isAdmin) {this.isAdmin = isAdmin;}}
User.java
<%@page import="java.util.HashMap"%> <%@page import="java.util.Map"%> <%@page import="com.Gary.model.User"%> <%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Insert title here</title> </head> <body> 作用域:page request session application <hr><% User u = new User("Gary","123",20,"男",false); request.setAttribute("user",u); %>${user.getUsername()} <br> ${user.username} <br><hr> <!-- 从Map中存储数据 --> <% Map<String,String>map = new HashMap<String,String>(); map.put("name","Gary2"); map.put("age","12"); request.setAttribute("user2",map); %>${user2.name}<br> ${user2.age}<br></body> </html>
el.jsp
输出:
作用域:page request session application Gary Gary Gary212
如果要使用 ${user.username} 去替代 ${user.getUsername()} 那么User.java中必须要存在 getUsername() 方法
el表达式从list集合和对象里面取得数据
package com.Gary.model;public class User {private String username;private String password;private int age;private String sex;private boolean isAdmin=false; //判断是否是管理员账号public User(String username, String password, int age, String sex, boolean isAdmin) {super();this.username = username;this.password = password;this.age = age;this.sex = sex;this.isAdmin = isAdmin;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public boolean isAdmin() {return isAdmin;}public void setAdmin(boolean isAdmin) {this.isAdmin = isAdmin;}}
User.java
<%@page import="java.util.ArrayList"%> <%@page import="java.util.List"%> <%@page import="java.util.HashMap"%> <%@page import="java.util.Map"%> <%@page import="com.Gary.model.User"%> <%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Insert title here</title> </head> <body> 作用域:page request session application <hr><% List<User> list = new ArrayList<User>(); list.add(new User("Gary0","0",10,"男",false)); list.add(new User("Gary1","1",20,"男",false)); list.add(new User("Gary2","2",30,"男",false)); list.add(new User("Gary3","3",40,"男",false)); list.add(new User("Gary4","4",50,"男",false)); request.setAttribute("list", list); %>${list[2].username} <br> ${list[4].username} <br>加减运算 ${list[2].age+list[4].age} <br>判空list ${empty list} <br> 判空list2 ${empty list2} <br>${pageContext.request.contextPath} <br> </body> </html>
el.jsp
输出
作用域:page request session application Gary2 Gary4 加减运算 80 判空list false 判空list true /Gary04
获得当前项目路径可以通过EL表达式Page作用域去获取
${pageContext.request.contextPath}
转载于:https://www.cnblogs.com/1138720556Gary/p/10308641.html
JavaWeb_EL表达式存储数据及获得项目路径相关推荐
- Android数据存储之文件存储(瞬时数据的存储与读取)项目已上传GitHub
GitHub地址: https://github.com/Skymqq/FileSave.git 数据持久化就是指将那些内存中的瞬时数据保存到存储设备中,保证即使在手机或电脑关机的情况下,这些数据仍然 ...
- GitLab默认仓库存储目录更换及项目迁移 GitLab跨服务器数据迁移
一.GitLab的数据从旧服务器迁移到新服务器 注释:旧服务器.新服务器GitLab版本保持一致,如果不一致得需要升级 1旧服务器上的安装版本 [root@iZbp1ac9uozodszcdkd98n ...
- android平台上持久化存储3种手段_Android 数据持久化==存储数据的五种方法
1.使用SharedPreferences存储数据 2.文件存储数据 3.SQLite数据库存储数据 4.使用ContentProvider存储数据 5.网络存储数据 第一种: 使用SharedPre ...
- SpringBoot中使用Thymeleaf常用功能(一):表达式访问数据
环境搭建: 创建一个Maven项目,按照Maven项目的规范,在src/main/下新建一个名为resources的文件夹,并在下面新建static和templates文件夹. ① 修改pom.xm ...
- WIN10下怎么找到MYSQL5.7数据库中存储数据的位置以及重装mysql数据复盘
由于我换了个m.2的固态硬盘 我重装系统,但是重装系统之后,我mysql之前的版本是5.5的,然后不能启动,我想这重装吧,我想在重装肯定装5.7的了,我就从官网下载了5.7版本,安装完毕,但是我想把我 ...
- Python操作HDF5存储数据方法总结
写在前面 HDF是什么 可视化工具 Pandas内置HDF文件操作 踩坑记录 参考文献 后记 写在前面 最近在做股价预测有关项目,需要大量股票数据,然而手头的CSV格式的数据对硬盘的占用越来越大, ...
- 浏览器对象存储数据详解
浏览器对象存储数据详解 前言 随着需求的发展,浏览器的功能正变的越来越强大,在本地存储数据可以极大的方便人们进行各种操作,如localStroage/sessionStroage等,下面我就记录在项目 ...
- 第五章 存储数据 web scraping with python
第五章.存储数据 尽管在终端打印是有很多乐趣的,但是当谈到数据汇总和分析时候这不是非常有用的.为了使大部分的爬虫有用,你需要能够保存它们抓取的信息. 在本章中,我们将着眼于的三个数据管理的方法满足任何 ...
- Unity实现大转盘抽奖效果(可存储数据)
一.演示效果 二.使用工具 Unity:2019.4.36 VS:2019 三.场景搭建 1.总体预览 2.Scroll View设置 3.创建一个名叫StreamingAssets文件夹,在里面创建 ...
最新文章
- 计算机网络测试两个主机连通性,计算机网络试卷A
- 有了我的第一个留言,高兴
- [公告]博客园新服务器照片
- php把excel转化为csv,php xls如何转csv
- Disturbed People(思维)
- 自动感光调节LED灯亮度C语言程序,单片机PWM调节LED灯亮度
- ux设计师薪水_公司与 设计机构:UX设计师的津贴和陷阱
- icmp协议介绍,type code 对应表
- (27)System Verilog设计UART接收
- 二叉链表和职工管理系统结合_职工信息管理系统单链表实现C语言源程序
- 「洛谷P3469」[POI2008]BLO-Blockade 解题报告
- GridView(网格视图)+MotionEvent(触控事件)实现可以拖动排序的网格图
- Python截屏工具,识别屏幕中的二维码
- Java对比两个json 的数据结构和内容是否一样
- Linux命令之du命令
- android 加速度传感器测步数,基于加速度传感器的运动步数检测算法研究
- Hyper-V安装Ubuntu 18使用笔记
- Spring Security Oauth2 JWT----单点登录、注销、续签的问题
- 看图写英语作文关于计算机,看图写话英语作文模板
- Android入门篇(四):自动拨打电话、手动拨打电话
热门文章
- 算数运算符与关系运算符_JavaScript关系运算符
- matlab netcdf,Matlab读取Netcdf文件
- iphone分辨率_QHD 分辨率有必要吗?三个理由告诉你:手机屏幕 FHD 就很好
- Mysql合并两个sql结果
- 线程池拒绝策略-RejectedExecutionHandler
- SpringBoot异步任务, 以及带返回值的异步任务(@Async 不起作用的原因)
- python 模块,模块名和包 最最简单的使用 入门级 不够详细 不建议参考- - 扫一眼就好
- 分布式大数据多维数据分析(olap)引擎kylin[转]
- illegal utf8 encoding at (190)
- 多领域合作 浪潮与美亚柏科赋能信息安全