java mvc教學 - Spring MVC和UI組件




mvc範例 form (5)

這是讓Spring MVC與ZK UI組件一起工作的另一種方法(Not JSF) - 帶有Spring MVC的Rich Web Application CRUD演示

在那篇文章中,它使用Spring MVC控制器與ZK UI組件進行通信。 (全部使用Java代碼)

我正處於小型單頁Web應用程序的“技術選擇”階段,該應用程序將基於AJAX,並將向Java後端報告。

在幾個星期前我發布的上一個問題中,SO社區強烈認為,使用基於Spring MVC的Web應用程序比使用JSF更好。 由於Spring是面向請求的,而JSF是面向組件的,所以只使用Spring來獲取大量異步請求才有意義。

如果我要使用JSF路由,那麼我的下一組決策是是否為視圖技術使用所謂的UI組件庫,例如PrimeFacesIceFacesMyFaces

所以,我想知道: Spring MVC是否有類似於PrimeFaces(或其喜歡的)為我的頁面創建視圖組件的東西? 我知道它不是基於組件的,但我並不熟悉Spring MVC的Web平台,並且想知道什麼是事實上的標準(如果有的話)或Spring Web開發人員用來構建漂亮網頁的典型技術堆棧。

而且,如果Spring只使用run-o-the-mill模板引擎,像Freemarker這樣的東西就足夠了嗎?

我想這對於剛剛萌芽的Spring Web開發人員來說是一個“最佳實踐”類型的問題。

提前致謝!


通常,所謂的UI組件的價值在於它們如何通過與有狀態框架集成來跟踪服務器端的用戶交互。

既然您決定使用面向請求的框架,那麼使用一些著名的客戶端JavaScript庫會更有意義。 熱門選擇包括:

就個人而言,如果我不需要很多標準的預構建小部件,我喜歡Backbone.js + underscore.js + jQuery。 我不喜歡Google Web Toolkit,因為它感覺就像編寫一個pidgin JavaScript,在那時我更喜歡直接編寫JavaScript。


此外,除了Ludovico Fischer提到的事情之外,如果我們在現在的技術世界中考慮同樣的問題,那麼你可以使用最近世界上最強大的東西之一: Angular 。 有2個示例場景。

  1. 如果您的架構是完全客戶端:集成是非常自然的。 Spring MVC將您的服務公開為REST(JSON / XMl ...),而使用Angular JS的客戶端應用程序會使用您的JSON。 這裡war應用程序(Spring mvc)必須部署在Servlet容器(Tomcat)中,並且您的客戶端應用程序可以部署在同一服務器或其他服務器Nginx,Apache等中。
  2. 如果你想在服務器端保持頁面生成,只使用AngularJS進行一些不錯的DOM操作,那麼你的代碼必須部署在同一個戰爭中(WEB-INF)。 混合使用這兩種方法並不總是一個好主意。 您可以嘗試使用百萬美元來保持服務器端頁面生成。

    因此,通過這種方式,您可以同時擁有角度的酷炫功能,如模板,可測試性和清晰的視圖代碼。


是的,JSF是面向組件的,Spring MVC是面向請求的。 我建議你看一下Thymeleaf Template引擎,它是JSP引擎的完全替代品.Thymeleaf的特點是:

  • 它允許自然模板。
  • HTML5支持
  • 通過利用內存緩存提高性能

點擊這裡了解更多


我向Spring推薦Tomcat,因為:

  1. Spring可以為JSP創建支持bean
  2. 您將使用Spring通過JPA持久化對象

因為你不需要任何重量級的處理,所以選擇Tomcat是不錯的選擇





java spring spring-mvc