JSP和Thymeleaf-程序员宅基地

技术标签: java  jsp  html  Spring  

JSP和Thymeleaf

JSP已经存在了很长的时间,在Java Web服务器中无所不在,但是它存在一些缺陷。JSP最明显的问题在于它看起来像HTML或XML,但其实并不是。大多数JSP模板都是采用HTML的形式,但掺杂了各种JSP标签库的标签,使其变得很混乱。虽然这些标签库能够以很便利的方式为JSP带来动态渲染的强大功能,但是它也摧毁了我们想维持一个格式良好的文档的可能性。

标签库和JSP缺乏良好格式的一个副作用就是它很少能够与其产生的HTML类似,在Web浏览器或HTML编辑其中查看未经渲染的JSP模板会令人非常困惑,这个结果是不完整的。同时JSP规范是与Servlet规范紧密耦合的,这就意味着JSP只能用在基于Servlet的Web应用之中。

Thymeleaf是一项很有吸引力的技术,因为它能创建原始的模板,这些模板是纯HTML,能够像静态的HTML那样以原始的方式编写和预览,并且能够在运行时渲染动态模型数据。除此之外,Thymeleaf是与Servlet没有耦合关系的,这样它就能够用在JSP不能使用的领域。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/a312257323/article/details/115709610

智能推荐

拼接点云_点云拼接 位姿矩阵 欧拉矩阵-程序员宅基地

文章浏览阅读894次。#include <iostream>#include <fstream>using namespace std;#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <Eigen/Geometry> #include &l..._点云拼接 位姿矩阵 欧拉矩阵

mapbox底图切换-程序员宅基地

文章浏览阅读1k次,点赞29次,收藏26次。本案例使用Mapbox GL JavaScript库进行底图切换。_mapbox底图切换

CISCO路由器AAA介绍及相关路由配置-程序员宅基地

文章浏览阅读1.5k次。CISCO AAA3A概念:认证authentication 授权authorization 记帐 accountingcisco为路由器和交换机提供多种3A服务的方法:1 自包含AAA 路由器/NAS自身包含AAA服务 NAS(网络访问服务器)2 CISCO SECURE ACS 路由器/NAS上的AAA服务与外部CISCO SECUR..._cisco aaa accouting

js 获取当前日期,再加10天工作日-程序员宅基地

文章浏览阅读1k次。可以使用 JavaScript 的内置函数 Date() 来获取当前日期,然后再使用 setDate() 方法来设置日期,加上 10 天,最后使用 getDate() 方法来获取最终的日期。具体的代码如下:let today = new Date();today.setDate(today.getDate() + 10);console.log(today.getDate());..._js 日期加10天

Java设计模式圣经连载(01)-简单工厂模式_java设计模式 有一个农场,生产各种水果,有苹果,草莓,葡萄,农场的园丁要根据客户的-程序员宅基地

文章浏览阅读1.3k次。1.1 简单工厂(Simple Factory)模式简单工厂模式是类的创建,又叫静态工厂方法(Static Factory Methord)模式。简单工厂模式是由一个工厂对象决定创造哪一种产品类的实例。 1.1.1 工厂模式的几种形态工厂模式专门负责将大量有共同接口的类实例化。工厂模式可以动态的决定将哪一个类实例化,工厂模式有以下几种形态: 简单工_java设计模式 有一个农场,生产各种水果,有苹果,草莓,葡萄,农场的园丁要根据客户的

随便推点

【ViewUI】基础学习记录_view ui 使用-程序员宅基地

文章浏览阅读522次。新建一个项目,由于xcode版本更新,新构建的代码目录发生改变,多出了一个屏幕生命周期类(应该是这个意思吧,我猜的)SceneDelegate.m在AppDelegate.m中对兼容版本做了配置,如果是ios13和之前的版本要在AppDelegate.m中实现,AppDelegate.m加入以下代码。注意,如果在Appdelegate.m中使用UIwindow,但不在Appdelegate.h中声明UIwindow属性,会出现一个报错 :"-[AppDelegate setWindow:]: unrec_view ui 使用

Protobuf简介及如何在GO语言中使用Protobuf?_go protobuf-程序员宅基地

文章浏览阅读2.6k次。消息类型定义在.proto包中,我们这里创建个person.proto 文件:用于指定.proto文件的版本,这里使用的是 Protocol Buffers 3 版本。package example:指定消息类型所在的包名,这里包名是example`。用于指定生成的 Go 代码的包名(package name)及导入路径(import path)。:定义一个名为Person的消息类型。:定义一个名为name的字符串类型字段,该字段的标签号为1。:定义一个名为age。_go protobuf

一步一步学 ROP 之 Linux_x86 篇-程序员宅基地

文章浏览阅读108次。作者:蒸米@阿里聚安全序ROP的全称为Return-oriented programming(返回导向编程),这是一种高级的内存攻击技术可以用来绕过现代操作系统的各种通用防御(比如内存不可执行和代码签名等)。虽然现在大家都在用64位的操作系统,但是想要扎实的学好ROP还是得从基础的x86系统开始,但看官请不要着急,在随后的教程中我们还..._举例解释rop x86

log4j2 自定义日志输出文件_log4j2plugins.dat-程序员宅基地

文章浏览阅读4.8k次。目的最近用到一个项目,需要在一个类中,将日志区分打印到不同的日志文件中比如同一个地方打印两条日志“receive message from port[123]”,"receive message from port[456]"这两条日志的内容一样的,只不过里面的参数port不一样。工程实现在这里,我们使用gradle工程来实现,总体目录如下工程的gradle.build..._log4j2plugins.dat

全网最详细的搭建【青龙面板】实现京东代挂教程-程序员宅基地

文章浏览阅读10w+次,点赞118次,收藏671次。Title前言1.领取或者购买腾讯云或阿里云的云服务器 (也可以用虚拟机实现)2.获取云服务器的ip,登录finalshell或者xshell3.出现这样的界面,证明连接成功4.安装docker(把以下代码复制粘贴进去)5.配置青龙面板(把以下代码复制粘贴进去)6.获取初始化的密码7.拉库(这里拉取的Faker的库)8.登录自己的账号(想用学习ninja登录的话,请留言)9.教程基本完成,大家可以加群进行交流。进入此群,进行技术交流 前言通过云服务器搭建青龙面板实现京东(JD)自动代挂赚京豆  _京东代挂

Unity版本使用情况统计报告-程序员宅基地

文章浏览阅读107次。注:同一项目,我们仅计入其最新版本从数据统计来看,不难发现在近半年来,5.3版本在开发团队中的使用率较高,达到了29%;接下来分别为5.5、5.6和5.4,占比分别为19%、19%和18%;考虑到2017.1还是较新的版本,大家对于该版本的选择较为慎重,因此使用率是最低的。从近半年的使用趋势来看,5.6作为5.x的最新系列,在开发团队中的使用率逐..._开发 版本 推荐 使用率

推荐文章

热门文章

相关标签