Apache Tiles 退休了。备择方案?

Posted

技术标签:

【中文标题】Apache Tiles 退休了。备择方案?【英文标题】:Apache Tiles retired. Alternatives? 【发布时间】:2019-08-04 06:17:56 【问题描述】:

Apache Tiles 于 2018 年 12 月搬入阁楼。因此 Apache Tiles 已退役。

我正在使用 Spring MVC 框架和 JSP。

还有哪些选择?我看到了 Sitemesh,但它是一个装饰器,我需要一个模板框架。

我想维护我的图块并使用其他框架。这是一个很大的应用程序,所以我不能同时重写我的所有图块

有人可以帮帮我吗?

【问题讨论】:

像 REACT 这样的面向组件/JS 的框架?或者你问的是基于 JSP 的东西? 是的,我在问一些基于 JSP 的东西。所以我有很多jsp。 您是否正在考虑为新框架重写 Tiles 文件?或者您只想维护您的 Tiles 页面并将另一个页面用于新页面?请说清楚。 我想维护我的图块并使用其他框架。这是一个很大的应用程序,所以我不能同时重写我所有的图块...... 就我个人而言,我会让 Tiles 存在于项目中。更改视图框架绝非易事,尤其是在大型项目中。当您使用 Spring MVC 时,我会尝试为新视图采用新路径并开始设计/实现 REST 端点,这些端点会暴露您的应用程序逻辑。然后选择合适的现代框架,如 React、Angular 或 Vue,以便从浏览器中使用该 API。稍后,您将能够开始在那里迁移 Tiles 功能。 【参考方案1】:

使用 Tiles 在 Apache Attic 中并不意味着您需要停止使用它。

除非您依赖它继续为您提供新功能和改进。

【讨论】:

我愿意,但我不能。由于javax.servlet 已移至jakarta.servlet,因此新版本的 servlet-api 会破坏现有的切片依赖关系。 @msangel 愚蠢的论点。预计 javax.servlet 命名空间还能再使用 5 到 10 年。【参考方案2】:

您可以尝试 Thymeleaf 或 Freemarker 或 mustache。所有这些库都与 Spring 应用程序集成,您应该在线获得大量示例以使其与您的应用程序一起使用。以下是各个网站的链接

https://www.thymeleaf.org/

https://github.com/spullara/mustache.java

https://freemarker.apache.org/

【讨论】:

您好,我看到了选项,但 Thymeleaf 可用于 html,Freemark 和 Mustache 与 JSP 不兼容。 钟摆一直在“以客户端为中心”和“以服务器为中心”之间来回摆动。 JSP(和 Tiles)之类的东西是“以服务器为中心的”(与旧的 IBM 3270 终端不同),如上所述:您可以继续使用 JSP 和 Tiles,只要您需要:没有理由停止。但对于“新项目”,请考虑公开 REST API(从服务器端),并在前端使用 Vue 或 Angular 等“以客户端为中心”的技术。

以上是关于Apache Tiles 退休了。备择方案?的主要内容,如果未能解决你的问题,请参考以下文章

使弹簧靴和角度应用程序之间的模型保持同步。备择方案?

Py2Exe 检测为病毒。备择方案?

你可以为一个模型注册多个 ModelAdmins 吗?备择方案?

OAuth开源框架Apache Oltu因不活跃宣布退休

SharpCompress & LZMA2 7z 存档 - 特定文件的提取速度非常慢。为啥?备择方案?

捕获IllegalStateException的不良做法?备择方案?