java - Spring 框架: which template engine?

标签 java spring jsp tiles thymeleaf

我计划深入研究 Spring 框架。我被该软件提供的庞大文档、注释系统和灵活性所吸引。 但是,在进一步讨论之前,我想就使用哪个模板引擎发表一些意见。

文档列出了这些模板系统:

  • JSP/JSTL
  • thymeleaf
  • 瓷砖
  • 自由创造者
  • 速度

当然,我对众所周知的JSP有一个想法,其他的呢? 您可以根据这些问题来回答:

  • 可读性
  • 灵活性
  • 易于使用
  • 易于学习
  • 持久品质
  • 与客户端库 (AngularJS) 结合
  • ...

提前致谢!

PS:抱歉我的英语水平......

最佳答案

嗯,你的问题在这里有点边界线,因为SO试图避免仅提供意见的答案。因此,我将尝试记录您所引用的框架的特殊性。但我必须承认,我认为好的或坏的只是我的意见......

JSP/JSTL 是基础,即使您计划使用其他框架,您也必须了解这个框架。主要品质:有广泛的文档记录,并且可以在调试器中单步执行(对初学者来说很好......)。主要缺点:太容易将java代码放在 View 中,并且控制语句很冗长。

Tiles:它本身并不生成 View ,而是组合其他(通常是 JSP)部分 View 来形成完整的页面,通常是页眉、页脚、菜单等。更多的是对 JSP/JSTL 的补充,而不是替代

速度/框架:真正的模板系统。这意味着它不会像 JSP 那样转换为 java servlet,但它们包含占位符并在运行时合并。事实上,两者都允许使用条件语句 (if)、循环 (foreach) 等控制语句,以及直接访问请求、响应、 session 和 servlet 上下文。主要优点:据说速度很快,Velocity 提供了一个与 Tiles 相差不远的 VelocitiyLayoutView。主要缺点:据说会占用大量内存,有时看起来很简单的东西是不允许的(它们毕竟是模板系统而不是源解释器),而且 Spring Velocity 集成相当过时。

Thymeleaf:待记录(不知道,但如果有人想编辑我的帖子,请这样做)

关于java - Spring 框架: which template engine?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24691625/

相关文章:

java - 无法将抽象类转换为实际对象

java.io.IOException : Cannot run program "/bin/bash": error=24, 打开文件太多

java - maven 和 spring 应用程序部署错误 : Unable to locate NamespaceHandler for namespace [http://www. springframework.org/schema/context]

JQuery/JSP 表单未提交

java - Spring 启动执行器中的 Elasticsearch 运行状况检查有时会返回状态

java - 如何在 MethodInterceptor 中访问 SecurityContext?

jsp - 重新加载 JSP 页面的一部分而不刷新整个页面

javascript - 刷新 JSP 变量而不重新加载页面

spring - 自己的 SpringSecurity UserDetailsS​​ervice 不加载用户 - 无法获取当前线程的事务同步 session

java - 是否可以根据抛出的异常对一个服务激活器使用 2 个不同的重试 bean?