日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

jsf集成spring_Spring和JSF集成:MVC螺母和螺栓

發布時間:2023/12/3 javascript 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jsf集成spring_Spring和JSF集成:MVC螺母和螺栓 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

jsf集成spring

過去,我曾嘗試將JSF與Spring MVC集成在一起,盡管我的第一次嘗試成功了,但這遠非理想。 這次,我決定做出一些關鍵決定來幫助我集中精力:
  • 向后兼容。 支持JSF 1.2涉及的工作太多,而Spring 3.1中出現了太多的好東西,可以忽略。
  • MVC注釋為王。 @RequestMapping似乎是大多數人的首選方法。 讓我們僅支持此功能,并將所有自定義注釋保持在最低限度。
  • 減少依賴性。 重用內容很不錯,但這是一個集成項目,因此集成越少越好。

考慮到這一點,我決定以Web Flow的org.springframework.faces.mvc.JsfView類為靈感。 該類非常好用,因為它只處理MVC的View ,而Model和Controller完全保留在Spring領域中。 JsfView的唯一問題是缺少回發支持。 我們需要以某種方式檢測對視圖的初始請求和任何后續的JSF回發之間的差異。

由于Spring MVC具有非常靈活的架構,因此這是完全可能的。 我們可以在DispatcherServlet注冊多個HandlerMapping和HandlerAdapter bean。 為了支持JSF,我們需要在此鏈中的某個較高層來檢測和處理回發,而將不是回發的所有內容以常規方式處理。 這是事件的一般順序:

user dispatcher @controller| /some/request | ||-------------------->| maps to || |------------->| creates| | |------------> FacesView| | (/pages/file.xhtml)| | render || |-------------------------------->|| | [Delegate to JSF]| response |<--------------------------------||<--------------------|| || || /some/request || (postback) ||-------------------->| postback handler| |--------->|| | [Delegate to JSF]| response |<---------||<--------------------| || | |

回發處理程序有幾個有趣的問題要處理。 1)我們怎么知道我們是回發。 2)我們如何知道要還原的視圖。 顯然,回發將是HTTP POST操作,但是我們不能盲目地假設所有POST都是JSF回發。 我們還需要知道要還原的XHTML文件,但是該文件是基于最后一個請求的@Controller做出的決定。
這兩個問題的答案是編寫我們自己的JSF ResponseStateManager 。 ResponseStateManager是JSF狀態管理基礎結構的一部分,并負責讀取和寫入組件狀態。 通常,JSF會將狀態數據保存在HTTP會話中,并在頁面內寫入一個隱藏的表單字段,以便以后可以還原。 使用這種機制,我們可以為MVC編寫一個附加字段,該字段的存在使我們知道我們有一個回發,而且該值還將使我們知道要還原的XHTML文件。

有了適當的回發處理程序,我們現在可以充分利用Spring和JSF的優勢。 我們可以使用@RequestMapping批注來構建富有表現力的URL,并使用JSF組件來呈現復雜的網頁。 如果愿意,我們甚至可以基于完全不同的技術為同一URL返回不同的視圖(例如,通過檢查HTTP標頭,我們可能決定返回JSF頁面或XML文檔)。

如果您想查看回發處理程序代碼,請參見此處 。 通常將其作為移動代碼庫的警告。

參考: 集成Spring和JavaServer Faces:來自JCG合作伙伴 Phillip Webb的 MVC 細節 ? 在Phil Webb的Blog上 。


翻譯自: https://www.javacodegeeks.com/2012/03/spring-jsf-integration-mvc-nuts-and.html

jsf集成spring

總結

以上是生活随笔為你收集整理的jsf集成spring_Spring和JSF集成:MVC螺母和螺栓的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。