Java 模板引擎中 URL 的最佳实践

Posted

技术标签:

【中文标题】Java 模板引擎中 URL 的最佳实践【英文标题】:Best practice for URLs in Java template engines 【发布时间】:2016-12-24 09:52:09 【问题描述】:

我使用了几个 Java 模板引擎(Mustache、Freemarker),但我总是纠结于如何处理同样的问题。

假设您有一个包含如下代码的模板:

<a href="/article.name/article.color/home.html">

例如,article 是从控制器传递到模板引擎的对象。 然后,我总是看到同样的问题。我必须在几个页面中对 url 进行硬编码,如果我更改它,那么我必须在任何地方手动查看它。例如,如果我想像这样更改 URI:

<a href="article/article.name/article.color">

那我得到处换了。

是的,也许我可以在特定模板引擎(例如包含)启用的东西中定义每个 url,但我想知道是否有最佳实践。 我正在考虑的一种可能的解决方案是在服务器端(例如在控制器中)创建 url 并将它们发送到视图。

从可重用性、正确性和灵活性的角度来看,哪些是最佳方法?

【问题讨论】:

【参考方案1】:

您说过:最好的(最灵活和可维护的)做法是在控制器中生成 URL 并将它们发送到视图:这称为 HATEOAS。

【讨论】:

我认为问题在于服务器端模板引擎以及控制器是否应该生成(服务器端)视图使用的 URL。 HATEOAS 是关于将 URL 发送到 REST Web 服务中的 客户端,所以在这里并不真正相关。

以上是关于Java 模板引擎中 URL 的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 最佳实践模板引擎Thymeleaf集成

Spring Boot 最佳实践模板引擎Thymeleaf集成

[SpringBoot] Spring Boot 最佳实践模板引擎Thymeleaf集成

[SpringBoot] Spring Boot 最佳实践模板引擎Thymeleaf集成

模板标签内的Django字符串连接最佳实践

在DOM中嵌入任意JSON的最佳实践?