2016-02-27 66 views
0

我瞭解MVC模式的ModelController部分以及[Spring MVC][1]的工作方式。Spring MVC:「視圖」是如何工作的?

但是,我不確定View

例如:如果我想在發送我的Rest end point時發回數據,例如,用戶/ {用戶},如果我發回一個JSP/ThymeLeaf頁面或a,它是如何工作的?

  1. view發送的回覆是controller

  2. JSP與發送JSON響應有什麼不同?

回答

1

視圖是呈現的字符串輸出。所以一般來說,你可以說JSP輸出和JSON之間沒有區別,因爲兩者都是由客戶端解釋的字符串響應。但通常JSP用於輸出html網站(Java服務器頁面,由服務器呈現/生成的Html)和JSON以在對象結構中提供純數據。 控制器(在MVC中)是模型和視圖之間的中間件,所以當視圖獲得輸入時,控制器會消化事件並操作數據,並且在模型更改時觸發gui進行更新。 由於html/web世界有點不同(request-> response),Spring-MVC控制器正在獲取用戶輸入並觸發輸出字符串的呈現。所以你可以說控制器正在交付。 控制器是一個改變事物的人,而沒有它的數據和視圖是靜態的。

+0

謝謝,如果我使用JSP輸出e,g,一個html表格,那麼我可以對其中的數據採取行動嗎?即我可以添加JavaScript等到頁面,以使其動態? – java123999

+0

你可以像使用普通的HTML文本一樣做所有事情。 JSP只是一個模板,它在服務器上獲取數據並在渲染器完成時以普通頁面的形式提供。所以當然你可以添加你想要的任何文字。 –

+0

好吧,它基本上和靜態html一樣嗎? – java123999

0

我打算寫關於瓷磚和春天mvc。 Mvc控制器會對你的url作出反應,就像你通過localhost發送請求:8080/myapp/classroom/hellostudent.html那麼spring會從/ url中刪除.html,並在tiles.xml文件中匹配你的字符串。

而關於json所以Spring mvc提出了json api,你必須使用@Responsebody來發送json對象到客戶端。