2013-02-14 71 views
1

使用Spring MVC時,是否有一種真正的JSP標籤替代方案?Spring MVC和像Facelets一樣的模板引擎

我正在使用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

回答

1

經過一些Tiles測試後,我決定去JSP。 我不需要配置,我實現了上述功能,編寫簡單的標籤文件並使用<jsp:attribute/><jsp:invoke/>標籤。

1

一些建議,我覺得春天的Webflow擁有JSF 2的支持。如果你想堅持使用純粹的Spring MVC,它還提供了使用Tiles和Velocity的模板,或者你甚至可以編寫自己的自定義ViewResolver。

+0

感謝您的答案,但我除了Facelets模板之外不需要任何JSF2功能,並且我沒有任何複雜的視圖流,所以我不需要WebFlow。至於Tiles和Velocity,我並沒有覺得它很容易用作facelets(xml config,模板的每一段代碼都必須在一個單獨的文件中) – aurban 2013-02-15 10:48:31

+0

如果Spring沒有Facelets ViewResolver,你可以隨時編寫你的擁有。 – CodeChimp 2013-02-15 19:36:22

0

我認爲使模板化的框架正在被棄用。在這方面,您可以考慮公開Restful API,以便將後端技術與前端技術分開。這樣,您可以在後端使用Spring-MVC的優勢,並讓前端決定構建用戶界面的技術(AngularJS)。

Spring-MVC支持構建Restful控制器,您只需將類標記爲@RestController。