在 Spring MVC 中使用 Twirl
Posted
技术标签:
【中文标题】在 Spring MVC 中使用 Twirl【英文标题】:Use Twirl with Spring MVC 【发布时间】:2015-03-10 19:06:14 【问题描述】:是否可以使用带有 Spring MVC 的 Twirl 作为视图技术?我想用一些东西来代替 JSP,而 Apache Tiles 对我来说感觉很麻烦。 Twirl Play Framework 的视图技术看起来很酷,并且类似于 ASP.NET Razor。
https://www.playframework.com/documentation/2.3.x/JavaTemplates
我在 Google 上进行了快速搜索,但没有发现太多。
【问题讨论】:
您可以尝试使用 JSF 2.x 的视图技术,如几个博客条目和 q/as here 中所示。我没有与 Twirl 合作过,但似乎它可能适合你想要/需要的东西。 你能用 JSF 作为 Spring MVC 的视图技术吗?我认为你可以使用 Spring + JSF,但它没有意义或与 Spring + Spring MVC + JSF 一起工作,因为它们都是 MVC 框架。我可能误解了我所读到的内容,所以请随时纠正我 @greyfox 这会有帮助吗? github.com/67726e/Spring-MVC-Twirl 【参考方案1】:我没有使用 Play Framework,所以我不熟悉它的架构。但我发现你的问题很有趣,并做了一些研究。
带有 Spring MVC 演示应用的 Twirl 模板引擎
但我确实找到了一些可能对您的案例有所帮助的有用资源。
Spring MVC Twirl GitHub
此存储库有一个您正在寻找的相同示例。
老实说,我没有尝试自己运行此代码,但它似乎是一个值得信赖的用户。
另外,我确实找到了一个博客示例,它解释了如何在没有 Play 框架的情况下独立运行 Twirl 模板引擎。这不包括您的用例,但它表明可以在没有 Play Framework 的情况下使用 Twirl 模板引擎(因此通过正确的配置可以将它与 Spring 一起使用)
独立 Twirl 模板引擎使用示例 - 博客和 GitHub 存储库
Standalone Twirl Template Engine Usage
Standalone Twirl Template Engine Usage GitHub Repository
Spring 的不同模板引擎 - 未提及 Twril
另外,如果你不想要一个很好的阅读参考,我总是访问Baeldung website
我发现一篇关于 Spring 的不同模板引擎的博文。它们不涵盖您的用例,但根据本文,只要您具有适当的依赖关系(例如 maven、gradle)并进行适当的配置,就可以使用各种不同的引擎。
没有提到 Twirl,但它可能会给你一些想法
Template Engine for Spring Blog Post
【讨论】:
【参考方案2】:如果您正在寻找与 Spring MVC 一起使用的模板框架,我建议您使用 Spring 的 Thymeleaf。
此答案还提供了一些与该问题相关的宝贵反馈:html templates in spring boot similar to play framework
Spring 框架不会强制你使用任何特定的视图 技术。您可以使用任何可以集成的东西。题目是 包含在文档中 (https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-view) 您可以在其中阅读有关热门选择的详细信息。然而 最受欢迎的是 Thymeleaf,它曾经是 Spring MVC 的一部分 在分离成一个独立的项目之前。你可以找到一个清晰的 在入门中如何将它与 Spring Boot 一起使用的示例 指导。
Play 框架中使用 Twirl 框架创建的模板是 转换成 Scala 代码。您只需通过模板传递数据模型 参数列表,就像使用任何方法一样。
在 Spring 框架中,您将要公开的所有日期 在所谓的模型映射中查看,这是一个简单的键值存储。在 您使用相应键引用值的视图技术。
【讨论】:
以上是关于在 Spring MVC 中使用 Twirl的主要内容,如果未能解决你的问题,请参考以下文章
如何在带有注解配置的spring mvc中使用spring数据