为了账号安全,请及时绑定邮箱和手机立即绑定

Java中模板引擎的目的是什么?

Java中模板引擎的目的是什么?

狐的传说 2021-12-12 15:23:46
我是一名 android 开发人员,工作了大约两年,最近我一直在考虑构建 Web 应用程序。所以我开始研究弹簧靴,一切都很棒。然后,我遇到了一个叫做模板引擎 (thymeleaf) 的东西,它根据定义将您的代码与演示文稿分开。令我困惑的是后端服务器如何拥有 html?演示文稿应该由前端的 html、css 和 javascript 处理吗?我什至看到他们在控制器中实际输入 html 代码作为返回值的教程。我的理解是后端服务器通过使用 AJAX 公开 API 供前端使用,前端将操作这些数据并将信息呈现在屏幕上,为什么后端会提供 html 代码?
查看完整描述

3 回答

?
慕勒3428872

TA贡献1848条经验 获得超6个赞

前端将操作这些数据

什么前端?您的意思是 HTML 页面中的 JavaScript 代码?那个是从哪里来的?哦,是的,服务器

它是为客户端提供HTML 页面以及任何 .js 和 .css 文件的服务器。

服务器可以提供静态页面,任何动态页面都由 JavaScript 处理。或者,服务器可以使用……您猜对了……模板引擎来动态构建 HTML 页面。

您通常不希望 JavaScript 最初构建页面,只是为了使用 JavaScript 处理任何动态行为。有些页面甚至不需要任何动态行为。

当然,除非您正在考虑单页应用程序(SPA),其中只有一个根 HTML 页面,其他所有内容都是使用 JavaScript 和 AJAX 调用在客户端构建的,但大多数 Web 应用程序都不是 SPA。


查看完整回答
反对 回复 2021-12-12
?
largeQ

TA贡献2039条经验 获得超7个赞

Thymeleaf 通过使用模板引擎提供 HTML 页面来替代 JSP。控制器请求 HTML 文件,Spring Boot 在使用提供的模型构建模板后提供该模板。


Thymeleaf很棒,因为它允许您即时重建模板。比方说,例如您在前端向用户展示指向他们的点数,但点数可能会增加或减少。


您可以做的是使用模型在后台构建模板。模型引用神奇地提供给解析它的模板。


@RequestMapping(...)

public String request(Model model) {

    model.put("points", 5);

    return "my-template.html"

}

然后使用 Thymeleaf 语言将您的对象提供给 HTML 文件,以便在运行时在引擎中进行处理。


<html..>

    <head>...</head>


    <body>

    <h1 th:text="${points}"></h1>

</html>

Spring Boots 模板引擎将在后台构建它并将其呈现给用户,但它会将实际点数显示给最终用户!希望这会有所帮助。


查看完整回答
反对 回复 2021-12-12
?
慕雪6442864

TA贡献1812条经验 获得超5个赞

我知道到目前为止这个问题已经得到了非常有效的回答,但我想在我经常与 Thymeleaf 合作时加上我的两分钱。

考虑模板引擎的最简单方法是它允许根据控制器方法传递给它的信息动态开发 html。这允许您将通常不存在的逻辑放入其中,或者说如果用户可能登录到管理员,则显示某个部分。

如果网页是房子,html 是框架,css 是墙壁,Javascript 是灯光和电力,那么模板引擎几乎只是在框架基于用户的需求构建之前即时设计计划的架构师房子的买家(用户输入)。


查看完整回答
反对 回复 2021-12-12
  • 3 回答
  • 0 关注
  • 243 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号