javascript - 带有 Spring Boot 的 Thymeleaf 或 Angular 4

标签 javascript java spring angular thymeleaf

我主要使用 Springboot 框架,仅使用 JSP 来涵盖网站部分所需的内容。现在,我有一个项目要做,即使不是全部,也主要围绕网站进行,我有几个问题。 首先要明确一点,我没有使用 Thymeleaf 或 Angular 的经验,所以无论我选择哪个,都是第一次(我认为 thymeleaf 语法​​对我来说更容易处理)。

好的,所以我的主要目标不是每次从后端加载数据时都呈现整个页面,所以我想我想要一个页眉/内容/页 footer 分,每次我点击内容时部分会改变。另外,我希望加载器能够在内容部分发生变化时显示并消失。此 Web 应用程序需要对注册用户是安全的。

我在网上搜索了这两个框架,但似乎找不到正确的答案,所以我可以继续我的开发

如果我决定使用 Thymeleaf,如果其他平台需要连接到该服务,我不介意在以后的开发中创建单独的 REST 服务。你们认为我应该朝哪个方向发展,Thymeleaf 还是 Angular?非常感谢任何帮助和/或讨论。

如果这看起来像是一个一般性问题,我很抱歉,但我只需要一些基本准则即可开始。干杯!

最佳答案

我认为过渡到 ThymeLeaf 对您来说可能是最简单的,但 Angular 也是一个不错的选择,从那里开始取决于您。你宁愿主要使用类似于 JSTL 表达式的表达式,但使用 Spring 的 SpEL 语言,然后使用 ThymeLeaf,或者你宁愿使用 JavaScript,然后使用 Angular。这只是用户对您正在做的事情的偏好。

碎片部分(页眉、页脚、正文等)是两个框架的 native 内容。这仅取决于您要使用哪一个。无论您使用什么,加载特定部分而不渲染其他部分,都需要 AJAX 并且让您对模板框架的工作方式感到满意。

我建议您仔细阅读它们,以确定您更喜欢哪一个。

Angular

Thymeleaf

他们都为初学者和 Baeldung 提供了很好的文档和 Mkyong有很好的 ThymeLeaf 演练。我发现 Angular 的文档本身就足够了。

对于加载程序,您可以使用简单的 CSS 和 JS 来完成。有大量关于如何实现全屏加载器以及如何使用 JS 或 CSS 打开或关闭它们的演示。 IHateTomatoes有一篇关于如何构建全屏加载器的好文章,它有一个无 JS 回退选项,应该给你一个很好的起点。

你关于它需要安全的观点完全是另一个怪物。我会研究 Spring Security。它相对简单,尤其是在使用 Spring Boot 时。如果您希望它可以控制用户 session 并协助防止 session 劫持,请添加 CSRF 以防止跨站点伪造,控制对 url 和在线的权限,或者不。这一切都取决于。

无论哪种方式,都不要随意攻击安全性,它最终会变成您认为安全但实际上并不安全的东西,这会让您和您的用户处于非常糟糕的境地。同样,Baeldung对用户注册和登录过程进行了很好的演练,可以帮助您开始使用 Spring 安全性以及如何将所有内容联系在一起。

相当高水平的答案,但希望能为您提供一些好的起点和一些资源。

关于javascript - 带有 Spring Boot 的 Thymeleaf 或 Angular 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47521441/

相关文章:

javascript - 单击时交换多张图像,但一次交换一张

javascript - 使用函数 onChange

javascript - 如何根据提供的最小和最大字符范围在 Javascript 中生成随机数

java - 将 ArrayFixture 与包含嵌套非原始对象的对象列表一起使用

java - 自动按字母顺序对成员变量进行排序

java - 在java中发出HttpClient请求

Spring 3 - 以 csv 格式导出数据

javascript - Meteor:使用 setInterval() 每天运行一次函数

spring - 更新到最新版本后替换@EnableSwagger2

spring - Spring @Autowired和applicationContext.xml中的bean声明