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 退休了。备择方案?的主要内容,如果未能解决你的问题,请参考以下文章
你可以为一个模型注册多个 ModelAdmins 吗?备择方案?