Web : EL表达式 -15

EL表达式概述

EL 全名为Expression Language,用来替代<%=  %>脚本表达式。

基本结构为${表达式}。

获取数据

  • 获取常量

<h1>获取常量</h1>

${123}

${123.32}

${"abc"}

${true}

  • 获取变量

el会自动从四大作用域中搜寻域属性来使用

如果找不到什么都不输出

<h1>获取变量</h1>

<%

pageContext.setAttribute("name","zs");

request.setAttribute("name","ls");

%>

${name}

  • 获取数组中的数据

<h1>获取数组中的数据</h1>

<%

    String [] addrs = new String[]{"bj","sh","gz"};

    pageContext.setAttribute("addrs",addrs);

%>

${addrs[1]}

  • 获取集合中的数据

<h1>获取集合中的数据</h1>

<%

    List<String> list = new ArrayList<String>();

    list.add("刘备");

    list.add("关羽");

    list.add("张飞");

    pageContext.setAttribute("list",list);

%>

${list[0]}

  • 获取map中的数据

<h1>获取Map中的数据</h1>

<%

    Map<String,Object> map = new HashMap<>();

    map.put("name","诸葛亮");

    map.put("age","25");

    map.put("wife","黄月英");

    map.put("job",new String[]{"军师","法师","中单","dps"});

    pageContext.setAttribute("map",map);

%>

${map["name"]}

${map["age"]}

${map["wife"]}

${map["job"][0]}

  • 获取javabean的属性

<h1>获取javabean的属性</h1>

<%

    User user = new User(1,"zs",18,"bj");

    pageContext.setAttribute("user",user);

%>

${user.id} ${user.name} ${user.age} ${user.addr}

执行简单的运算

  • 算数运算

<h1>算数运算</h1>

${2+3}

${2+"3"}

  • 关系运算

<h1>关系运算</h1>

${3>2}

${3 gt 2}

${3 < 1}

${3 lt 1}

  • 逻辑运算

<h1>逻辑运算</h1>

${3>2 && 3<1}

${3>2 || 3<1}

${!(3>2 || 3<1)}

  • Empty运算

判断对象是否为null

判断字符串是否为空串

判断数组、集合、map是否没有任何元素

<h1>empty运算</h1>

<%

pageContext.setAttribute("user",null);

pageContext.setAttribute("addr","");

pageContext.setAttribute("list",newArrayList());

%>

${emptyuser}

${emptyaddr}

${emptylist}

  • 三元表达式

<h1>三元运算符</h1>

<%

    pageContext.setAttribute("age",20);

%>

${age>18?"yes~":"no~"}

获取Web开发常用对象

在el表达式中,共有11个内置对象,可以直接在el中使用

  • pageContext对象

pageContext

通过此内置对象,可以在el中获取其他八大隐式对象

<h1>pageContext</h1>

${pageContext.request.contextPath}

${pageContext.session.id}

  • 代表四大作用域的对象

pageScope

pageContext域

requestScope

request域

sessionScope

session域

applicationScope

ServletContext域

<h1>代表四大作用域的对象</h1>

<%

    pageContext.setAttribute("name","zl");

    request.setAttribute("name","zs");

    session.setAttribute("name","ls");

    application.setAttribute("name","ww");

%>

${requestScope.name}

${sessionScope.name}

${applicationScope.name}

${pageScope.name}

param

Map<String,String>从请求参数中获取指定名称请求参数的值

paramValues

Map<String,String[]>从请求参数中获取指定名称请求参数的值的Map

  • 代表请求参数组成的map对象

<h1>代表请求参数值的对象</h1>

${param.username}

${param.age}

${paramValues.like[0]}

${paramValues.like[1]}

${paramValues.like[2]}

  • 代表请求头组成的map对象

header

Map<String,String>从请求头中获取指定名称请求头的值

headerValues

Map<String,String[]>从请求头中获取指定名称请求头的值的Map

<h1>代表请求头的对象</h1>

${header.Cookie}

${header["Accept-Encoding"]}

  • 代表请求中Cookie组成的Map对象

cookie

请求中所有cookie对象组成的Map<String,Cookie>

<h1>代表Cookie对象</h1>

${cookie.JSESSIONID.value}

  • 代表Web应用初始化参数组成的map对象

initParam

所有应用初始化参数组成的Map<String,String>

<h1>代表应用初始化参数的对象</h1>

${initParam.ck1}

${initParam.ck2}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3280524.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

vue3后台管理系统 vue3+vite+pinia+element-plus+axios上

前言 项目安装与启动 使用vite作为项目脚手架 # pnpm pnpm create vite my-vue-app --template vue安装相应依赖 # sass pnpm i sass # vue-router pnpm i vue-router # element-plus pnpm i element-plus # element-plus/icon pnpm i element-plus/icons-vue安装element-…

《海军罪案调查处:起源》预告片介绍新角色莱罗伊·杰思罗·吉布斯

《海军罪案调查处&#xff1a;起源》的主演奥斯汀斯托威尔最近分享了这部备受期待的前传系列剧的一张新宣传照。虽然距离该剧上映还有几个月的时间&#xff0c;但这张照片将激起粉丝们的兴奋之情。 这张照片通过斯托维尔的官方社交账号分享&#xff0c;让观众们看到了年轻时的…

html+css+js前端作业和平精英官网1个页面(带js)

htmlcssjs前端作业和平精英官网1个页面&#xff08;带js&#xff09;有轮播图tab切换等功能 下载地址 https://download.csdn.net/download/qq_42431718/89597007 目录1 目录2 项目视频 htmlcssjs前端作业和平精英官网1个页面&#xff08;带js&#xff09; 页面1

国家超算互联网平台:模型服务体验与本地部署推理实践

目录 前言一、平台显卡选用1、显卡选择2、镜像选择3、实例列表4、登录服务器 二、平台模型服务【Stable Diffusion WebUI】体验1、模型运行2、端口映射配置3、体验测试 三、本地模型【Qwen1.5-7B-Chat】推理体验1、安装依赖2、加载模型3、定义提示消息4、获取model_inputs5、生…

前端-如何通过docker打包Vue服务成镜像并在本地运行(本地可以通过http://localhost:8080/访问前端服务)

1、下载安装docker&#xff0c;最好在vs code里安装docker的插件。 下载链接&#xff1a;https://www.docker.com/products/docker-desktop &#x1f389; Docker 简介和安装 - Docker 快速入门 - 易文档 (easydoc.net) 2、准备配置文件-dockerfile文件和nginx.conf文件 do…

【Redis 初阶】Redis 常见数据类型(Set、Zset、渐进式遍历、数据库管理)

一、Set 集合 集合类型也是保存多个字符串类型的元素的&#xff08;可以使用 json 格式让 string 也能存储结构化数据&#xff09;&#xff0c;但和列表类型不同的是&#xff0c;集合中&#xff1a; 元素之间是无序的。&#xff08;此处的 “无序” 是和 list 的有序相对应的…

Camera Raw:五阶段修图流程

在使用 Camera Raw 修图时&#xff0c;如果按照一定的流程来进行&#xff0c;可以大大提高工作效率。这里提出的五阶段修图流程&#xff0c;简单来说就是&#xff1a; 1、调亮度&#xff0c;定影调 2、还原校正修复 3、局部调整优化 4、调颜色&#xff0c;定色调 5、存储、输出…

【C语言】qsort详解——能给万物排序的神奇函数

&#x1f984;个人主页:小米里的大麦-CSDN博客 &#x1f38f;所属专栏:https://blog.csdn.net/huangcancan666/category_12718530.html ⚙️操作环境:Visual Studio 2022 目录 一、引言 二、qsort函数介绍 1.函数原型 2.参数说明 2.1比较函数 3.使用示例 3.1对一维数组进…

【Canvas与艺术】五色五角大楼

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>五L莫比乌斯五角大楼</title><style type"text/css&qu…

芋道以开源之名行下作之事 恬不知耻 标榜自己开源 公开源码+sql 不用再加入知识星球

资源 链接: https://pan.baidu.com/s/1TeuxbAUfLQ5_BqMBF1kniQ?pwdcqud 提 取码: cqud 依次为后端、补充版的sql、前端 此文档内安装部署等一应俱全

科普文:深入理解ElasticSearch体系结构

概叙 Elasticsearch是什么&#xff1f; Elasticsearch&#xff08;简称ES&#xff09;是一个分布式、可扩展、实时的搜索与数据分析引擎。ES不仅仅只是全文搜索&#xff0c;还支持结构化搜索、数据分析、复杂的语言处理、地理位置和对象间关联关系等。 官网地址&#xff1a;…

MSA+抑郁症模型总结(一)(论文复现)

MSA抑郁症模型总结&#xff08;一&#xff09;&#xff08;论文复现&#xff09; 本文所涉及所有资源均在传知代码平台可获取 文章目录 MSA抑郁症模型总结&#xff08;一&#xff09;&#xff08;论文复现&#xff09;情感分析在多场景的应用一、概述二、论文地址三、研究背景四…

PyTorch 2.0中图像增强方法详解

【图书推荐】《PyTorch深度学习与计算机视觉实践》-CSDN博客 基于Vision Transformer的mini_ImageNet图片分类实战_imagenet数据集-CSDN博客 Vision Transformer模型是目前图形识别领域最为前沿的和性能最好的图形分类模型&#xff0c;它能够对目标图像做出准确度最高的判断。…

《动手做科研 》| 05. 如何开展和记录实验

地址链接:《动手做科研》05. 如何开展和记录实验 导读: 当我们开始训练多个具有不同超参数的模型&#xff0c;我们就需要对实验开始进行管理。我们将其分为三个部分&#xff1a;实验追踪、超参数搜索和配置设置。我们将使用 Weights & Biases 来演示实验记录和追踪&#xf…

支持AI的好用的编辑器aieditor

一、工具概述 AiEditor 是一个面向 AI 的下一代富文本编辑器&#xff0c;她基于 Web Component&#xff0c;因此支持 Layui、Vue、React、Angular 等几乎任何前端框架。她适配了 PC Web 端和手机端&#xff0c;并提供了 亮色 和 暗色 两个主题。除此之外&#xff0c;她还提供了…

【源码+文档+调试讲解】乡镇篮球队管理系统设计与实现

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本乡镇篮球队管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信…

基础篇| 全网最全详解12个大模型推理框架

01 什么是框架? 开始介绍之前, 我们先了解一下什么是框架?xx框架-IT人经常听到的名词。但是又有多少人知道框架的意思? 框架&#xff08;framework&#xff09;是一个框子:指其约束性&#xff0c;也是一个架子——指其支撑性。是一个基本概念上的结构&#xff0c;用于去解…

新作品,一个通用的 Cloudflare Workers HTTP 反向代理

本文介绍我最近写的新作品&#xff1a;使用 Cloudflare Workers/Pages 搭建 HTTP 反向代理&#xff0c;代码已经全部开源在 GitHub&#xff0c;按照 README 里面的脚本搭建就可以了&#xff0c;非常简单。 GitHub&#xff1a;https://github.com/jonssonyan/cf-workers-proxy …

数字图像处理 第三章 灰度变换和空间滤波(上)

文章目录 本章简介一、背景知识 P62 - P641.1 灰度变换和空间滤波基础 P62 - P63二、一些基本的灰度变换函数 P64 - P712.1 图像反转 P642.2 对数变换 P64 - P662.3 幂律(伽马变换 P66 - P682.4 分段线性变换函数 P68 - P71本章知识点总结本章简介 本章讨论在空间域中的图像增强…

【C/C++】关于 extern “C“ 的理解

详细解释 #ifdef __cplusplus extern "C" 在C中&#xff0c;#ifdef __cplusplus 和 extern "C" 是用于处理C和C混合编程中的名称修饰&#xff08;name mangling&#xff09;问题的预处理器指令和关键字。 #ifdef __cplusplus __cplusplus 是一个预处理器…