【问题标题】:Spring MVC and templating engine like FaceletsSpring MVC 和 Facelets 等模板引擎
【发布时间】:2013-01-30 03:26:06
【问题描述】:

在使用 Spring MVC 时是否有真正的 JSP 标签替代方案?

我正在使用 Spring MVC 将其集成到 JS 框架中。 我在 Spring MVC 中缺少的是一种 模板框架

我以前使用过带有 JSF2 的 Facelets 模板,我喜欢它。

是否有与 Spring MVC 很好地集成并提供与 Facelets 类似的功能的框架/技术?

  • 没有(或很少)xml 配置
  • 可以在一个模板文件中定义部分,并从一个文件中填充所有部分的所有供应内容

我正在查看 Apache Tiles 文档,看来您需要为模板中的每个部分设置单独的文件。

示例(伪代码):

template.html

<insert:headerSection>
<insert:bodySection>

using-template.html

<use-template: template.html>

<define:headerSection>this is a header</define:headerSection>
<define:bodySection>this is a body</define:bodySection>

我知道我可以使用 JSP 实现这一点,但使用 Facelets 编写代码看起来更简洁、更快捷。

如果 JSP 是我的最佳选择,我在 this thread 中找到了一些建议

【问题讨论】:

    标签: java jsp templates spring-mvc facelets


    【解决方案1】:

    我认为 Spring Webflow 支持 JSF 2。如果你想坚持使用纯 Spring MVC,它还提供了 Tiles 和 Velocity 模板,或者你甚至可以编写自己的自定义 ViewResolver。

    【讨论】:

    • 感谢您的回答,但除了 Facelets 模板之外,我不需要任何 JSF2 功能,而且我没有任何复杂的视图流,因此我不需要 WebFlow。至于 Tiles 和 Velocity,我发现它不像 facelets 那样容易使用(xml 配置,模板的每段代码都必须放在单独的文件中)
    • 如果 Spring 没有 Facelets ViewResolver,你可以自己编写。
    【解决方案2】:

    在使用 Tiles 进行一些测试后,我决定使用 JSP。 我不需要配置,我通过编写一个简单的 tag 文件并使用&lt;jsp:attribute/&gt;&lt;jsp:invoke/&gt; 标签实现了上述功能。

    【讨论】:

      【解决方案3】:

      可以使用 Spring MVC 配置 Facelets。在这里查看:https://github.com/acichon89/springmvcfacelets

      【讨论】:

        【解决方案4】:

        freemarker 或 velocity 怎么样,有一个关于如何将这些技术与 Spring MVC 集成的清晰解释。请看以下内容:http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/view.html

        【讨论】:

          【解决方案5】:

          我认为制作模板的框架正在被弃用。在这方面,您可以考虑公开一个 Restful API,以便您可以将后端与前端技术分开。通过这种方式,您可以在后端使用 Spring-MVC 的优势,并让前端来决定构建用户界面 (AngularJS) 的技术。

          Spring-MVC 支持构建 Restful 控制器,你只需要将你的类标记为@RestController。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2017-05-11
            • 2014-05-15
            • 1970-01-01
            • 1970-01-01
            • 2017-10-19
            • 2016-05-01
            • 1970-01-01
            相关资源
            最近更新 更多