Spring MVC和像Facelets这样的模板引擎

时间:2013-02-14 10:40:53

标签: java jsp templates spring-mvc facelets

使用Spring MVC时是否有真正的JSP标记替代方法?

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

我之前使用过使用JSF2模板化的Facelets,我喜欢它。

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

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

我正在查看Apache Tiles文档,似乎您需要为模板中的每个部分分别创建文件。

示例(伪代码):

template.html

<insert:headerSection>
<insert:bodySection>

使用-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

中找到了一些建议

5 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

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