七、Thymeleaf对象的访问

news2024/11/17 23:50:05

7.1、实体对象属性的访问

        使用变量表达式访问对象属性时,可以使用"对象.属性名"的语法。注意此处的属性名是对象属性getter方法的名称。

示例

        在项目包下添加domain包,在包中创建“User”类,添加userId和userName属性

import java.io.Serializable;


public class User implements Serializable{
private static final long serialVersionUID = -5822957642556734665L;
private Integer userId;
private String userName;
//省略getter和setter方法,其中userName的getter方法的名称为getName


}

在TestServlet中创建User对象,并给属性赋值,保存到rquest中

User u = new User();
u.setUserId(1);
u.setUserName("张三");
request.setAttribute("user", u);

在test.html页面中使用ul标签显示属性的值

<ul>
	 <li th:text="${user.userId}"></li>
	 <li th:text="${user.name}"></li>
</ul>

运行test.do,页面显示效果如下

7.2 web对象的访问

在html页面中能够访问的web对象有request、session、servletContext对象,当不指定web对象进行访问时,thymeleaf只会request对象中的属性值。

示例

在TestServlet中,添加以下代码,在三个web对象中分别存入不同的属性值

request.setAttribute("scope", "request");

在index.html中输出scope的值

[[${scope}]]

运行test.do,页面显示效果如下,输出的是request范围的属性值

如果数据是保存在session或是servletContext中,必须指定范围对象。

语法

request范围:${xxx}或者${#request.getAttribute('xxx')
session范围:${session.xxxx}或者${#session.getAttribute('xxx')
servletContext范围:${application.xxx}或者${#servletContext.getAttribute('xxx')}
获取请求参数:$(param.xxx)或者${#request.getParameter('scope')}

示例,在TestServlet中不同web对象中保存数据

request.setAttribute("scope", "request");
request.getSession().setAttribute("scope", "session");
request.getServletContext().setAttribute("scope", "servletContext");

修改index.html代码,从不同范围中获取数据

<ul>	
        <li>[[${scope}]]</li>
	   <li>[[${session.scope}]]</li>
	   <li>[[${application.scope}]]</li>	
        <li>[[${param.scope}]]</li>
</ul>

在路径后添加参数scope=parameter,再次运行。效果如下

7.3 thymeleaf内置变量的访问

thymeleaf提供了一些内置变量,这些变量使用#开头,使用这些内置变量可以获得更高的灵活性。

变量名

说明

#ctx

上下文对象。

#vars

上下文变量。

#locale

上下文locale。

#request

(仅在Web上下文中)HttpServletRequest对象。

#response

(仅在Web上下文中)HttpServletResponse对象。

#session

(仅在Web上下文中)HttpSession对象。

#servletContext

(仅在Web上下文中)servletContext对象。

示例

修改上一示例值的获取方式,使用内置变量访问

<ul>	<li>[[${#request.getAttribute('scope')}]]</li>
	<li>[[${#session.getAttribute('scope')}]]</li>	
<li>[[${#servletContext.getAttribute('scope')}]]</li>	
<li>[[${#request.getParameter('scope')}]]</li></ul>

运行后效果与上一示例相同

 文章来源于哔站《七、Thymeleaf对象的访问》

更多学习视频和专栏文章请到哔站个人空间: 布道师学院的个人空间-布道师学院个人主页-哔哩哔哩视频

更多资源和项目下载请到:”开源吧(找实战项目和毕设项目的好网站)“ ​ :开源吧

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

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

相关文章

极验文字点选验证

测试网址&#xff1a; 验证码验证形式展示-滑动图片验证-点选验证-极验交互安全极验GEETEST提供丰富多样的行为验证形式来应对网络攻击&#xff0c;如滑动拼图验证&#xff0c;智能无感验证&#xff0c;文字/图标/语序点选验证和空间推理验证等……这些验证形式在PC端和移动端…

跨境电商建站:选择域名需要注意什么?

在跨境电商建站过程中&#xff0c;选择一个合适的域名是至关重要的。本文将介绍域名和网址的区别&#xff0c;解释域名选择的重要性&#xff0c;并提供一些关于如何选择域名的建议。同时&#xff0c;还会涉及到老域名的优势和注意事项。内容并不复杂&#xff0c;希望对大家有所…

Java基于SpringBoot的车辆充电桩

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W,Csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文章目录 1、效果演示效果图 技术栈2、 前言介绍&#xff08;完整源码请私聊&#xff09;3、主要技术3.4.1…

面试题:在大型分布式系统中,给你一条 SQL,让你优化,你会怎么做?

亲爱的小伙伴们&#xff0c;大家好呀&#xff01;我是小米&#xff0c;一个热爱技术、乐于分享的90后程序猿。今天&#xff0c;我要和大家聊聊一个在大型分布式系统中非常有趣和挑战性的话题——如何优化 SQL 查询&#xff01; 这个问题可不简单&#xff0c;但不要担心&#x…

[发现了好东西] MS teams 使用-表情小窗口

在是有MS teams时&#xff0c;对话框里的每一条消息&#xff0c;当鼠标游离其上时&#xff0c;都会出现一个表情小窗口。其实这个小窗口非常的烦人&#xff0c;尤其是需要复制消息内容时。这个小窗口容易导致误操作&#xff0c;所以非常的非常烦人。 从微软的主页上搜&#xff…

昨天面试一个武大的,10年经验,薪资只要1万二!

昨天面试了一个武大的&#xff0c;10年经验&#xff0c;只要一万二&#xff0c;虽然是二线城市&#xff0c;但是这个学历和工作经验&#xff0c;我还是比较震惊的。 和他聊了一番&#xff0c;他回答地比较真诚&#xff0c;但是最后我不得不拒绝他。 首先他有大厂的经历。 我…

电容笔有必要买苹果原装的吗?ipad第三方电容笔了解下

在当今世界&#xff0c;高科技已经成为推动电子产品迅速发展的一股重要力量。无论是在工作上&#xff0c;还是在学习上&#xff0c;都很方便。iPad会和我们的生活联系在一起&#xff0c;不管是现在还是未来。iPad配上一支简单的电容笔&#xff0c;可以提高工作和学习的效率&…

springboot+jsp+ssm高校图书馆图书借阅收藏评论管理系统617w1

本图书管理系统系统采用B/S架构&#xff0c;数据库是MySQL&#xff0c;网站的搭建与开发采用了先进的Java进行编写&#xff0c;使用了SSM&#xff08;Spring、SpringMVC、Mybits&#xff09;框架。该系统从两个对象&#xff1a;由管理员和用户来对系统进行设计构建。前台主要功…

Flexmonster Pivot Table 2.9.1 Crack

Flexmonster Pivot Table & Charts 2.9.X 是一个专门为实时可视化复杂业务数据而设计的组件。该实用程序是用JavaScript编写的&#xff0c;不需要额外的插件&#xff0c;也不受运行的服务器类型的限制。事实上&#xff0c;它的设计可以轻松地与当今大多数可用的开发框架集成…

拓世AI|中秋节营销攻略,创意文案和海报一键生成

秋风意境多诗情&#xff0c;中秋月圆思最浓。又是一年中秋节&#xff0c;作为中国传统的重要节日之一&#xff0c;中秋节的意义早已不再仅仅是一家团圆的节日&#xff0c;更是一场商业盛宴。品牌方们纷纷加入其中&#xff0c;希望能够借助这一节日为自己的产品赢得更多的关注和…

物流批量查询:一键查询全部物流信息,高效管理快递

你是否曾经为了查询快递信息而感到困扰&#xff1f;特别是当你需要查询多个快递单号时&#xff0c;重复的输入和查询不仅耗时&#xff0c;还容易出错。为了解决这个问题&#xff0c;我们找到了一个名为“固乔快递查询助手”的软件&#xff0c;它能够让你一次性查询所有需要的快…

报错处理:MySQL报错解决:连接失败原因与解决方案

大家好&#xff0c;今天我来分享一下在Linux上遇到的一个MySQL连接失败的报错以及解决方法。如果你在尝试连接MySQL数据库时遇到以下报错信息&#xff1a;“Can’t connect to MySQL server on ‘localhost’ (111)”&#xff0c;那么请接着往下看&#xff0c;我会帮你找到可能…

安卓 Android 终端接入阿里云 IoT 物联网平台

在全球智能手机市场里&#xff0c;谷歌开发的安卓(Android)移动操作系统市场占有率已经高达90%。随着物联网智能硬件升级&#xff0c;安卓(Android)也逐渐成为智能摄像头&#xff0c;智能对讲门禁&#xff0c;人脸识别闸机&#xff0c;智能电视&#xff0c;智能广告屏等带屏 Io…

Vulnhub_driftingblues1靶机渗透测试

driftingblues1靶机 信息收集 使用nmap扫描得到目标靶机ip为192.168.78.166&#xff0c;开放80和22端口 web渗透 访问目标网站&#xff0c;在查看网站源代码的时候发现了一条注释的base64加密字符串 对其解密得到了一个目录文件 访问文件发现是一串ook加密的字符串&#xf…

云原生监控系统Prometheus:基于Prometheus构建智能化监控告警系统

目录 一、理论 1.Promethues简介 2.监控告警系统设计思路 3.Prometheus监控体系 4.Prometheus时间序列数据 5.Prometheus的生态组件 6.Prometheus工作原理 7.Prometheus监控内容 8.部署Prometheus 9.部署Exporters 10.部署Grafana进行展示 二、实验 1.部署Prometh…

电源升压模块dc/dc直流低压升高压隔离电压变换器5v12v24v48v转50v70v80v100v110v200v250v300v500v600v微功率

特点 效率高达 80%以上1*1英寸标准封装电源正负双输出稳压输出工作温度: -40℃~85℃阻燃封装&#xff0c;满足UL94-V0 要求温度特性好可直接焊在PCB 上 应用 HRA 0.2~8W 系列模块电源是一种DC-DC升压变换器。该模块电源的输入电压分为&#xff1a;4.5~9V、9~18V、及18~36V、36…

工信部教考中心:什么是《研发效能(DevOps)工程师》认证,拿到证书之后有什么作用!(下篇)丨IDCF

拿到证书有什么用&#xff1f; 提高职业竞争力&#xff1a;通过学习认证培训课程可以提升专业技能&#xff0c;了解项目或产品研发全生命周期的核心原则&#xff0c;掌握端到端的研发效能提升方法与实践&#xff0c;包括组织与协作、产品设计与运营、开发与交付、测试与安全、…

220V转18V非隔离降压芯片:满足多种应用需求

220V转18V非隔离降压芯片&#xff1a;满足多种应用需求 现如今&#xff0c;随着无线通信技术的迅猛发展&#xff0c;越来越多的设备需要稳定的低压电源供应。为了满足这一需求&#xff0c;AH8696-220V转18V非隔离降压芯片应运而生。该芯片具备许多令人瞩目的特性&#xff0c;能…

『pnpm』多项目环境迁移指南

前言 博主在开发前端网站的时候&#xff0c;发现随着开发的项目的逐渐增多&#xff0c;安装的依赖包越来越臃肿&#xff0c;依赖包的安装速度也是非常越来越慢&#xff0c;多项目开发管理也是比较麻烦。之前我就了解过 pnpm&#xff0c;但是当时担心更换包管理环境可能会出现的…

探索JavaScript事件流:DOM中的神奇旅程

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 引言 1. 事件流的发展流程 1.1 传统的DOM0级事件 1.2 DOM2级事件和addEventListener方法 1.3 W3C DOM3级…