el表达式获取jsp域对象、获取对象(获取时间使用逻辑视图)、List集合(可获取对象)、Map集合的值(可获取对象)

SpringMVC数据传递机制与ModelAndView实战解析 在Java Web开发中,MVC框架的数据传递机制是实现业务逻辑与视图解耦的关键技术。SpringMVC通过HandlerAdapter和ModelAndView等核心组件,提供了类型安全的数据绑定与作用域管理方案。其底层基于请求处理管道机制,支持将控制器返回值智能转换为视图模型,同时通过@SessionAttributes和RedirectAttributes实现跨请求数据保持。这种设计既保留了Servlet API的灵活性,又通过约定优于配置的原则简化了开发。典型应用场景包括电商购物车状态维护、用户权限 阅读详情

一、el表达式获取jsp域对象

在这里插入图片描述
el是用{}而不是()
el表达式只能从域对象中获取值

jsp和html都要在web目录下写

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>el获取域中的数据</title>
</head>
<body>


<%
    //在域中存储数据
    session.setAttribute("name","李四");
    request.setAttribute("name","张三");
    session.setAttribute("age","19");
%>

<h3>el获取值</h3><br>
${requestScope.name}<br>
${sessionScope.age}<br>

${sessionScope.hahha}<%--没有这个值也不会报错,所以不用判断null了,比之前的方便--%>


${name}<%--这里的name同名了会输出张三(因为第二种方法从小到大找,找到为止)--%>
</body>
</html>

这里我的虚拟目录为/,但我在web建了个el目录,所以浏览器要加上el才能访问:

在这里插入图片描述
在这里插入图片描述
这样获取值可代替:直接用${requestScope.cc_error}替换就行,自动判断空的,空就不输出,方便:

<div><%=request.getAttribute("cc_error")==null?"":request.getAttribute("cc_error")%></div>
<div><%=request.getAttribute("login_error")==null?"":request.getAttribute("login_error")%></div>

二、获取对象、List集合、Map集合的值

  1. 获取对象:${域名称.键名.属性名}
  • 本质上会去调用对象的getter方法
  1. List集合:${域名称.键名[索引]}
  2. Map集合:
  • 第一种方法: ${域名称.键名.key名称}
  • 第二种方法: ${域名称.键名[“key名称”]}在这里插入图片描述
    新建User类:
package it.cast;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @author QLBF
 * @version 1.0
 * @date 2020/11/27 12:38
 */
public class User {
    private String name;
    private int age;
    private Date birthday;

    public String getBirStr(){
        /**
         *  逻辑视图
         * @description:因为el获取的日期是美国的,我们要转为年月日的
         * @param: * @param:
         * @return: java.lang.String
         * @author QLBF
         * @date: 2020/11/27 12:40
         */
        if (birthday!=null){
            //1.格式化日期对象
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
            //2.返回字符串即可
            return sdf.format(birthday);

        }else {
            return "";
        }
    }

    public User() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
}

c.jsp:

<%@ page import="it.cast.User" %>
<%@ page import="java.util.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>T获取对象、List集合、Map集合的值itle</title>
</head>
<body>

<%
    /*设置User类*/
    User user=new User();
    user.setName("张三");
    user.setAge(18);
    user.setBirthday(new Date());
    //下面的user是上面的user对象传过去
    request.setAttribute("u",user);

    //设置list
    List list=new ArrayList();
    list.add("aaa");
    list.add("bbb");
    //可以存对象
    list.add(user);
    request.setAttribute("list",list);

    //设置map
    Map map=new HashMap<>();
    map.put("sname","李四");
    map.put("gender","男");
    map.put("user",user);
    request.setAttribute("map",map);

%>

<h3>1.el获取对象中的值,是根据上面request.setAttribute的键来获取</h3>
${requestScope.u}<br> <%--输出传输的user对象的地址值--%>
<%--
    * 通过的是对象的属性来获取
        * setter或getter方法,去掉set或get,在将剩余部分,首字母变为小写。
        * setName --> Name --> name
--%>
${requestScope.u.name}<br><%--获取user对象的getName方法--%>
${u.age}<br>
${u.birthday}<br>
${u.birStr}<br><%--获取user对象的getbirStr方法--%>



<h3>2.el获取List值</h3>
${list}<br>
${list[0]}<br>
${list[1]}<br>
${list[2]}<br>
${list[12]}<br><%--越界也不会报错,不输出而已--%>
${list[2].name}<br>

<h3>el获取Map值</h3>
${map.gender}<br>
${map["gender"]}<br><%--加[]后引号不能省--%>
${map.user.name}<br>

</body>
</html>

在这里插入图片描述

SpringMVC视图渲染原理深度解析:从DispatcherServlet到模板引擎的完整流程 在Web开发中,视图渲染是将服务器端数据转换为用户可见页面的关键技术。其核心原理基于MVC设计模式,通过控制器处理业务逻辑后,由视图层负责数据展示。SpringMVC框架通过DispatcherServlet作为中央调度器,协调HandlerMapping、HandlerAdapter等组件完成请求处理。视图解析器(ViewResolver)根据逻辑视图名定位具体视图模板,而视图对象(View)则执行模型数据与模板的合并渲染。这一机制的价值在于实现了视图技术与业务逻辑的解耦,支持JSP、Thymeleaf、 阅读详情

相关推荐

从零搭建SpringMVC项目:IDEA手动配置全流程与核心原理详解

SpringMVC作为Java Web开发的核心框架,其核心原理基于前端控制器模式,通过DispatcherServlet统一处理请求,实现了控制器、模型与视图的解耦。这一设计为Web应用提供了清晰的请求处理流程和灵活的视图解析能力,其技术价值在于构建了结构清晰、易于维护的企业级应用基础。在应用场景上,无论是传统的基于XML配置的项目,还是需要深度定制的遗留系统,理解其手动配置过程都至关重要。本文以IDEA和Maven为工具,详细演示了从创建项目骨架、配置web.xml与DispatcherServlet,

cunfuxiao7305的博客 608

EL表达式获取简单数据与复杂数据(调用类)+EL表达式获取Map集合与list集合数据

1.使用EL表达式获取简单数据与复杂数据 1.1代码 <%@ page import="domain.User" %><%-- Created by IntelliJ IDEA. User: 49841 Date: 2020/9/1 Time: 15:25 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;cha

qq_39773004的博客 617

SSM框架实战:学生信息管理系统源码解析与开发指南

在Java企业级开发领域,SSM(Spring + Spring MVC + MyBatis)框架组合因其成熟稳定、生态完善而成为经典技术选型。其核心原理在于通过Spring的IoC容器实现组件解耦与依赖注入,Spring MVC提供清晰的MVC分层以处理Web请求,而MyBatis则作为ORM框架,通过XML或注解将SQL与Java代码解耦,实现了灵活的数据访问。这套组合的技术价值在于它规范了企业应用的架构,提升了代码的可维护性和可测试性。典型的应用场景包括各类后台管理系统、电商平台等需要处理复杂业务逻辑

weixin_34116482的博客 262

el-descriptions

<el-descriptions title="用户信息"> <el-descriptions-item label="用户名">kooriookami</el-descriptions-item> <el-descriptions-item label="手机号">18100000000</el-descriptions-item> <el-descriptions-item label="居住地"&gt...

高晨辉的博客 2万+

SSM框架整合实战:从零构建学生社团活动管理系统

在Java企业级开发领域,SSM(Spring + Spring MVC + MyBatis)框架组合是理解经典MVC架构与数据持久化原理的基石。其核心在于Spring的IoC容器实现对象生命周期管理,并通过AOP机制提供声明式事务等能力;Spring MVC作为Web请求的调度中心,清晰分离控制层与视图层;MyBatis则通过灵活的SQL映射,高效连接Java对象与关系型数据库。这种分层架构的价值在于提升了代码的可维护性与团队协作效率,广泛应用于后台管理系统、内容平台等需要复杂业务逻辑与数据操作的场景。本

weixin_34049948的博客 306

单细胞数据互转实战:从Scanpy的h5ad到Seurat对象的四种高效方法

本文针对单细胞数据分析中Scanpy的h5ad格式与Seurat对象互转的常见难题,详细对比了SeuratDisk、anndataR、schard和sceasy四种高效转换方法。文章从实战出发,剖析了每种方法的原理、操作流程、优缺点及避坑指南,并提供了清晰的选型策略,帮助用户根据数据特点选择最佳方案,实现跨平台数据的无缝衔接。

weixin_29099217的博客 446

Vue路由

Vue路由

qq_57420582的博客 2223

安时积分法和开路电压法结合估算锂电池SOC

基于安时积分法和开路电压法结合的锂电池SOC估计Simulink仿真建模,利用安时积分法计算放电过程中的SOC,在搁置状态利用开路电压法进行SOC修正。

qq_39304296的博客 2552

EL表达式获取数据的方式

<%@page import="cn.jiemoxiaodi.domain.Person"%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% St...

chizhuan6861的博客 446

第一届“龙信杯”电子数据取证竞赛Writeup

第一届“龙信杯”电子数据取证竞赛Writeup

toto的博客 1万+

科研绘图避坑指南:用PyMol制作期刊级蛋白-配体相互作用图(含氢键显示技巧)

本文是一份专业的科研绘图避坑指南,详细讲解如何利用PyMol软件制作符合期刊发表标准的蛋白-配体相互作用图。文章重点分享了从构图逻辑、精准选择到氢键等相互作用的艺术化表达技巧,并提供了视觉优化与期刊适配的终极参数设置,帮助科研人员产出兼具科学严谨性与视觉美感的专业图表。

weixin_29292431的博客 268

element-ui 使用 el-descriptions

【代码】element-ui 使用 el-descriptions。

qq_34631220的博客 4670

某音播放量查询,播放量接口研究,最新版本抓包,修改SO文件绕过SSL

本教程适用于某音27.8,64位版本,32为版本及某音旁侧版本修改方法大同小异,部分旁侧版本修改之后模拟器可能无法抓包,真机测试均可正常抓包,此方法修改后绝大部分包可以正常抓取,但部分包无法抓取,例如验证码,内置浏览器功能,如需抓取此类包可通过 Postern + Charles 实现。

byalipus的博客 1万+

EL表达式

目录 一、EL表达式简介 二、基本语法 三、JSP对EL表达式的支持 四、运算 五、获取值 5.1 获取域中存储的值——字符串 5.2 获取域中存储的值——对象 5.3 获取域中存储的值——List集合 5.4 获取域中存储的值——Map集合 一、EL表达式简介 EL(Expression Language)表达式语言。 作用:替换和简化JSP页面中Java代码的编写 二、基本语法 ``...

IF 363

华为海思2026届数字IC秋招笔试真题解析与实战技巧(2025最新版)

本文深度解析华为海思2026届数字IC秋招笔试真题,涵盖高频考点如后端设计、低功耗设计、SystemVerilog语法等核心内容。提供时序违例修复、时钟树综合等实战技巧,帮助考生高效备考。特别关注UPF低功耗设计规范等最新考点,助力考生在秋招笔试中脱颖而出。

lg888的博客 1088

Android一个APP里面最少有几个线程

Android应用启动时,默认会创建一个进程,该进程中最少包含负责处理用户交互、UI更新等核心操作,所有与界面相关的逻辑必须在此线程执行。若在此线程执行耗时操作(如网络请求),会导致界面卡顿甚至触发ANR(应用无响应)。当对象重写了finalize()方法时,该线程负责将这些对象放入队列并调用其finalize()方法,完成资源释放后再由GC回收。监控的执行效率。如果finalize()方法执行超时(默认10秒),此线程会触发虚拟机退出以防止应用长时间阻塞。

编程进化论 613

EL表达式(经典)

概念 Expression Language 表达式语言 作用 替换和简化jsp页面中java代码的编写 语法 ${表达式} 如${3+4} 启动访问el1.jsp页面 忽略el表达式 忽略单个 要想忽略某个el表达式,使其已原本的表达式显示在页面中,则可以 在表达式前面加反斜杠\ 访问,则\${3+4}<br>中的EL表达式${3+4}会被忽略,已字符串${3+4}显示在页面 忽略全部 要想忽略全部.

林高禄 7673

ROS Motion Planning运动规划库安装方法及进阶使用方法详细介绍

​今天偶然发现了一个优质的运动规划库:ai-winter/ros_motion_planning,比较适合从事ROS移动机器人运动规划研究领域的小伙伴学习和使用,相比于莱斯大学Kavraki实验室提供的开源的著名运动规划库OMPL、或着我之前介绍过的zhm-real开源的zhm-real/MotionPlanning和zhm-real/PathPlanning运动规划库,今天介绍的ROS Motion Planning运动规划库与ROS机器人中常用的Navigation导航框架的兼容性更好,库中的运动规划

慕羽★的博客 5576

java el表达式 导航规则_诺禾:在jsp里面如何不写java代码展示数据(EL表达式的使用)...

EL表达式可以简化jsp中写的java代码在jsp里面如何不写java代码展示数据(EL表达式的使用)在jsp里面如何不写java代码展示数据(EL表达式的使用)在jsp里面如何不写java代码展示数据(EL表达式的使用)在jsp里面如何不写java代码展示数据(EL表达式的使用)在jsp里面如何不写java代码展示数据(EL表达式的使用)EL如果没有获取到值会显示空字符串而不是显示null在js...

weixin_39638603的博客 106

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

JSP-EL表达式语言/JSTL标签库使用

EL表达式 概念:Expression Language 表达式语言 作用:替换和简化jsp页面中java代码的编写 语法:${表达式} 注意:jsp默认支持el表达式的。如果要忽略el表达式: 设置jsp中page指令中:isELIgnored="true" 忽略当前jsp页面中所有的el表达式 \{表达式}:忽略当前这个el表达式 使用: 运算: 运算符: 算数运算符:+ - * / (div) % (mod) 比较运算符:> < >= <= == != 逻辑运

flow 444

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

EL、JSTL(2020.11.29)

文章目录一、EL表达式二、JSTL 一、EL表达式 1. 概念:Expression Language 表达式语言 2. 作用:替换和简化jsp页面中java代码的编写 3. 语法:${表达式} 4. 注意: * jsp默认支持el表达式的。如果要忽略el表达式 1. 设置jsp中page指令中:isELIgnored="true" 忽略当前jsp页面中所有的el表达式 2. \${表达式} :忽略当前这个el表达式 5. 使用: 1. 运算: * 运算符: 1. 算数运算符:

weixin_622464的博客 141

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

JavaWeb之EL&JSTL

jsp MVC EL表达式 使用 <%-- Created by IntelliJ IDEA. User: ysl Date: 2019/11/13 Time: 12:46 To change this template use File | Settings | File Templates. --%> <%@ ...

ysl的博客 269

SpringMVC的了解和使用

SpringMVC的了解和使用

xgq_111的博客 500

jspEl表达式取值

jsp中${}----是EL表达式的常规表示方式 –&gt;目的是为了获取{}中指定的对象(参数、对象等)的值 如: ${user.name}&lt;====&gt;User user = (User)request(搜寻范围).getAttribute(user); String name = user.getName(); out.println(name); 从当前页面起开始搜寻 user对...

qq_43107703的博客 1234

量子优化算法QAOA在TSP问题中的应用与实践

量子近似优化算法(QAOA)是近年来量子计算领域的重要突破,它将经典优化问题转化为量子电路可处理的形式,通过参数化量子态寻找最优解。作为混合量子-经典算法的典型代表,QAOA在组合优化问题上展现出独特优势,特别适合处理NP难问题如旅行商问题(TSP)。算法通过构建问题哈密顿量和混合哈密顿量,利用量子叠加和纠缠特性探索解空间,再结合经典优化器调节参数。在实际工程中,QAOA与经典优化算法如模拟退火(SA)形成互补,针对TSP这类路径规划问题,采用QUBO编码和分层优化策略(Cl-QAOA)可有效扩展问题规模。

weixin_33742618的博客 1010
上一篇: MVC开发模式、四层架构、实体类的作用
下一篇: 在JSP获取虚拟目录
Mike-H
博客等级 码龄8年 27粉丝 141原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值