Thymeleaf -- 视图模块

news2025/1/12 9:05:32
  1. 添加thymeleaf的jar包

2. 新建一个Servlet类ViewBaseServlet

publicclassViewBaseServletextendsHttpServlet {
​
    privateTemplateEnginetemplateEngine;
​
    @Override
    publicvoidinit() throwsServletException {
​
        // 1.获取ServletContext对象
        ServletContextservletContext=this.getServletContext();
​
        // 2.创建Thymeleaf解析器对象
        ServletContextTemplateResolvertemplateResolver=newServletContextTemplateResolver(servletContext);
​
        // 3.给解析器对象设置参数
        // ①HTML是默认模式,明确设置是为了代码更容易理解
        templateResolver.setTemplateMode(TemplateMode.HTML);
​
        // ②设置前缀
        StringviewPrefix=servletContext.getInitParameter("view-prefix");
​
        templateResolver.setPrefix(viewPrefix);
​
        // ③设置后缀
        StringviewSuffix=servletContext.getInitParameter("view-suffix");
​
        templateResolver.setSuffix(viewSuffix);
​
        // ④设置缓存过期时间(毫秒)
        templateResolver.setCacheTTLMs(60000L);
​
        // ⑤设置是否缓存
        templateResolver.setCacheable(true);
​
        // ⑥设置服务器端编码方式
        templateResolver.setCharacterEncoding("utf-8");
​
        // 4.创建模板引擎对象
        templateEngine=newTemplateEngine();
​
        // 5.给模板引擎对象设置模板解析器
        templateEngine.setTemplateResolver(templateResolver);
​
    }
​
    protectedvoidprocessTemplate(StringtemplateName, HttpServletRequestreq, HttpServletResponseresp) throwsIOException {
        // 1.设置响应体内容类型和字符集
        resp.setContentType("text/html;charset=UTF-8");
​
        // 2.创建WebContext对象
        WebContextwebContext=newWebContext(req, resp, getServletContext());
​
        // 3.处理模板数据
        templateEngine.process(templateName, webContext, resp.getWriter());
    }
}
  1. 在web.xml文件中添加配置

-- 配置前缀 view--prefix

-- 配置后缀 view--suffix

<!-- 在上下文参数中配置视图前缀和视图后缀 -->
<context-param>
    <param-name>view-prefix</param-name>
    <param-value>/</param-value>
</context-param>
<context-param>
    <param-name>view-suffix</param-name>
    <param-value>.html</param-value>
</context-param>
  1. 使得我们的Servlet继承ViewBaseServlet

@WebServlet("/index")
publicclassIndexServletextendsViewBaseServlet {
    @Override
    protectedvoiddoGet(HttpServletRequestreq, HttpServletResponseresp) throwsServletException, IOException {
        BaseBaoImplebaseBaoImple=newBaseBaoImple();
        List<User>users=baseBaoImple.selectData(User.class);
        //System.out.println(users);
​
        HttpSessionsession=req.getSession();
        session.setAttribute("user",users);
        //此处的视图名称是 index
        //那么thymeleaf会将这个  逻辑视图名称  对应到  物理视图  名称上去
        //逻辑视图名称:index
        //物理视图名称:view-prefix + 逻辑视图名称 + view-suffix
        //所以真实的视图名称是:  /   index            .html
        super.processTemplate("indexD",req,resp);
    }
}
  1. 根据逻辑视图名称 得到 物理视图名称

//此处的视图名称是 index//那么thymeleaf会将这个 逻辑视图名称 对应到 物理视图 名称上去//逻辑视图名称:index//物理视图名称:view-prefix + 逻辑视图名称 + view-suffix//所以真实的视图名称是: / index .htmlsuper.processTemplate("index",req,resp);

  1. 使用thymeleaf的标签

th : if , th : unless , th : each , th : text

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

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

相关文章

人大金仓和达梦的空间数据能力对比

一、总得来说&#xff1a; 人大金仓底层更解决于pg数据库&#xff0c; 人大金仓的空间能力基于postgis能力来实现&#xff0c;能力挺强大的. 细节上人大金仓的架构上也对空间的支持框架做的比达梦更加完善。例如数据库的集群能力&#xff0c;并行计算能力&#xff0c;空间数据…

使用热成像仪完成地暖检测应用

家庭地暖已逐步全面走进北方家庭中&#xff0c;常见的地暖系统分为两类&#xff0c;一类为电地暖&#xff0c;一类为水地暖&#xff0c;其常见问题为地暖发热不均&#xff0c;地暖不热或水暖管渗漏等问题。地暖系统在保障温暖及美观的同时&#xff0c;一直存在维修困难的问题&a…

最流行的自动化测试工具,总有一款适合你(附部分教程)

前言 在自动化测试领域&#xff0c;自动化工具的核心地位毋庸置疑。本文总结了最顶尖的自动化测试工具和框架&#xff0c;这些工具和框架可以帮助组织更好地定位自己&#xff0c;跟上软件测试的趋势。这份清单包含了开源和商业的自动化测试解决方案。 1&#xff09;Selenium …

第六章 图

文章目录前言知识框架数据结构的区分1. 图的基本概念1.1 图的定义1.2 图的基本概念和术语总结前言 参考文献&#xff1a;数据结构&#xff1a;图(Graph)【详解】 知识框架 数据结构的区分 线性表&#xff1a;数据元素之间是被串起来的&#xff0c;仅有线性关系&#xff0c;每…

Centos和Window系统下Frp内网穿透

frp 是一个高性能的内网穿透的反向代理软件&#xff0c;支持 TCP、UDP、HTTP、HTTPS 等常见协议(TCP最常用)&#xff0c;可以将处于局域网或者家用电脑主机、办公电脑主机通过中转服务器的方式暴露在公网里&#xff0c;使用户可以通过访问公网的IP&#xff08;域名&#xff09;…

【数电基础】——触发器

目录 1.大纲 2.双稳态电路 3. SR锁存器&#xff08;或非门构成&#xff09; 4.SR锁存器&#xff08;与非门构成&#xff09; 5.门控SR锁存器&#xff08;与非门构成&#xff09; 6.触发器 1.D触发器 &#xff08;电平触发&#xff09; 2.D触发器&#xff08;上升沿触发&am…

腾讯会议演示者视图/演讲者视图

前言 使用腾讯会议共享PPT时&#xff0c;腾讯会议支持共享用户使用演示者视图/演讲者视图&#xff0c;而会议其他成员可以看到正常的放映视图。下面以Win10系统和Office为例&#xff0c;介绍使用步骤。值得一提的是&#xff0c;该方法同时适用于单显示屏和多显示屏。 腾讯会议…

详解JAVA注解

目录 1.基本注解 2.元注解 3.自定义注解 4.底层实现 1.基本注解 基本注解是JDK自带的一些单独使用的具有功能性的注解&#xff0c;包含以下四个&#xff1a; Override表示方法重写Deprecated表示方法过期&#xff0c;下个版本可能删除SuppressWarnings用于抑制告警SafeVa…

大学生创业有优势吗?创业方向应该如何选择?

大学生创业有优势吗&#xff1f; 目前&#xff0c;许多学校都有孵化器、创业基地等。大学生可以以极低的成本和成本在外面拥有相同质量的办公室和仓库&#xff0c;大学生的创业成本再次降低。 而且很多学校规定大学生可以无限期休学创业&#xff0c;这也消除了大学生创业失败…

深入分析Linux虚拟化KVM-Qemu之ioeventfd与irqfd

说明&#xff1a; KVM版本&#xff1a;5.9.1 QEMU版本&#xff1a;5.0.0 工具&#xff1a;Source Insight 3.5&#xff0c; Visio 1. 概述 ​ 图中的各个模块&#xff0c;只剩下通知机制没讲了&#xff0c;本文来一篇终结者&#xff1b; Guest与KVM及Qemu之间的通知机制&…

wordpress从宝塔升级到docker

15还是16年的时候买的阿里云和腾讯云最低配的1核1G。腾讯云和阿里云后来都涨价了&#xff0c;退了涨价多的那个腾讯云&#xff0c;阿里云一直续费到现在&#xff0c;wordpress这个最早的时候是用军哥的lnmp的一键包搭建的&#xff0c;后来改成用了带UI的宝塔&#xff0c;宝塔用…

4.文件管理

文章目录1、初识文件管理1.1、回顾1.2、文件的属性1.3、无结构文件/有结构文件1.4、文件之间应该怎样组织起来&#xff1f;1.5、操作系统应该向上提供哪些功能&#xff1f;1.6、从上往下看&#xff0c;文件应如何存放在外存&#xff1f;1.7、其他需要由操作系统实现的文件管理功…

分页与分段

前面我们分析了虚拟地址和物理地址 我们这里进行一个简单的分析 这个是程序运行时的地址映射 那么这些碎片&#xff0c;我们现在的操作系统究竟如何处理呢&#xff1f; 我们再引入一个实际问题 我们如何把右边的进程p塞入左边的内存空间里面 有一种方法将p5kill掉&#xff…

Python - SQL入门和实战

数据来源 01 SQL前言 无处不在的SQL 后续学习的铺垫 学到什么程度 黑马程序员MySQL知识精讲mysql实战案例_零基础mysql数据库入门到高级全套教程_哔哩哔哩_bilibili 总结 02 数据库介绍 无处不在的数据库 数据库如何存储数据 数据库管理系统&#xff08;数据库软件&#xf…

七、标签传播与节点分类【CS224W】(Datawhale组队学习)

开源内容&#xff1a;https://github.com/TommyZihao/zihao_course/tree/main/CS224W 子豪兄B 站视频&#xff1a;https://space.bilibili.com/1900783/channel/collectiondetail?sid915098 斯坦福官方课程主页&#xff1a;https://web.stanford.edu/class/cs224w 文章目录半…

或许你想要的画图工具在这里

之前文章发布后&#xff0c;有小伙伴问下面的画怎么画的&#xff08;偷偷告诉你&#xff0c;其实我是用铅笔水彩笔画的&#xff09;&#xff0c;哈哈&#xff0c;开玩笑了。其实这些图都是用Excalidraw 画出来的。 我们平常不管是工作中&#xff0c;还是在日常写文章&#x…

pdf压缩文件大小的方法是什么?word文件怎么批量转换成pdf格式?

大家在存储文件时&#xff0c;通常会遇到一些较大的文件&#xff0c;这时需要对其进行压缩处理。下面介绍一下如何压缩PDF文件大小以及批量转换Word文件为PDF格式。pdf压缩文件大小的方法是什么?1.打开小圆象PDF转换器&#xff0c;选择“PDF压缩”功能。2.在“PDF压缩”界面中…

二、CSS

一、CSSHTML的结合方式 1、第一种&#xff1a;在标签的style属性上设置"key:value value;"&#xff0c;修改标签样式 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title>…

8位单片机(51 STC8)C语言处理32位unsigned long型数据之计算出错

一、问题描述 入门51没多久后就主攻32了&#xff0c;最近又搞起51&#xff0c;移植一个软定时器代码到STC8上&#xff0c;结果出现了奇怪的问题&#xff0c;而这种问题在各种32位单片机上都是不曾有的。 有如下代码&#xff0c;实现了软定时器。使用内部IRC&#xff0c;22.1184…

LabVIEW与Web通讯

LabVIEW与Web通讯Web客户端可通过LabVIEWWeb服务与远程LabVIEW应用程序交换数据。Web服务由运行在服务器上的VI和其他文件组成&#xff0c;这些VI对应于客户端发出的HTTP请求。LabVIEWWeb服务仅在LabVIEW完整版开发系统和LabVIEW专业版开发系统中可用。Web服务用于下列情况&…