繁体   English   中英

使用Springboot的Thymeleaf或Angular4

[英]Thymeleaf or Angular4 with Springboot

我主要只使用JSP处理Springboot框架,以解决网站部分所需的内容。 现在,我有一个项目可以围绕网站展开(如果不是全部的话),我有几个问题。 首先要清楚一点,我没有使用Thymeleaf或Angular的经验,因此无论我选择哪种方式都是第一次(我认为thymeleaf语法对我来说更容易处理)。

好的,所以我的主要目标不是每次从后端加载数据时都渲染整个页面,所以我认为我想要一个页眉/内容/页脚部分,每次单击某些内容时,内容部分都将改变。 另外,我希望装入程序在内容部分发生更改时显示并消失。 对于注册的用户,此Web应用程序将需要安全。

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

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

很抱歉,这似乎是一个普遍的问题,但是我只需要一些基本的指导即可。 干杯!

我认为过渡到ThymeLeaf对您来说可能是最容易的,但是Angular也是一个不错的选择,从那里开始就取决于您。 您是否宁愿使用大多数与JSTL表达式类似的表达式,但在Spring的SpEL语言中,然后使用ThymeLeaf,或者宁愿使用JavaScript,然后使用Angular。 这只是用户对您正在执行的操作的偏爱。

片段化部分(页眉,页脚,正文等)是两个框架固有的。 它仅取决于您要使用哪一个。 无论您如何处理,要在不渲染其他部分的情况下加载特定部分,都将需要AJAX,并使您对模板框架的工作方式感到满意。

我建议阅读它们两者,以找出您更喜欢哪一个。

角度的

胸腺

他们俩都为初学者提供了出色的文档资料, BaeldungMkyong为ThymeLeaf提供了不错的选择。 我发现Angular的文档本身就足够好。

对于加载程序,可以使用简单的CSS和JS。 关于如何进行全屏加载程序以及如何使用JS或CSS打开或关闭它们的演示有大量。 IHateTomatoes上有一篇很好的文章,介绍如何构建全屏加载程序,它具有No JS fallback选项,应该为您提供一个良好的起点。

关于安全性的观点是另外一个怪物。 我将研究Spring Security。 它相对简单,尤其是在使用Spring Boot时。 如果希望它可以控制用户会话并帮助防止会话阻塞,请添加CSRF以防止跨站点伪造,控制对URL的权限以及是否在线。 这一切都取决于。

无论哪种方式,都不要随意破坏安全性,它最终会带来您认为安全的东西,但实际上并不是安全的,这会使您和您的用户处于非常不利的境地。 再次, Baeldung在用户注册和登录过程方面具有出色的经验,可以帮助您开始使用Spring安全性以及如何将所有内容结合在一起。

相当高的答案,但希望能给您一些很好的起点和资源。

构建将前端与后端解耦的应用程序。

始终遵循“ API优先”方法构建应用程序API优先方法涉及设置应用程序的基础,这是应用程序编程接口

对我而言,Thymeleaf和Angular之间的区别是:

使用Thymeleaf:您不需要在前端侧创建Restful / Web服务终结点,因为您只需要从前端本身对后端进行调用即可。

使用Angular:除了后端的Restful / Web服务端点之外,您还必须在前端侧构建Restful / Web服务端点,因为您不想公开从Javascript代码到后端的直接访问。

希望这对您有所帮助,并祝您编程愉快!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM