我用的Web MVC哪裏會發生這種事每個事件/請求:打開新的視圖,是否發生在控制器中?
- 點擊鏈接以site.com/login
- 路由器會揣摩出用戶要
- 調度會加載登錄控制器
我試圖在Java中使用MVC,並且我遇到了一些事情流。
用戶單擊按鈕打開一個新窗口,控制器捕獲此事件。我們目前在控制器中,所以這是您放置/隱藏當前窗口並加載新控制器的地方,它將顯示新的請求的窗口?
這是我能想到的唯一的地方還是有更好的方法來完成這個?有些東西對我來說看起來不太合適。
任何幫助將非常感謝。
我用的Web MVC哪裏會發生這種事每個事件/請求:打開新的視圖,是否發生在控制器中?
我試圖在Java中使用MVC,並且我遇到了一些事情流。
用戶單擊按鈕打開一個新窗口,控制器捕獲此事件。我們目前在控制器中,所以這是您放置/隱藏當前窗口並加載新控制器的地方,它將顯示新的請求的窗口?
這是我能想到的唯一的地方還是有更好的方法來完成這個?有些東西對我來說看起來不太合適。
任何幫助將非常感謝。
用於登錄的用例與常規控制器不同。在未經身份驗證的用戶嘗試訪問安全頁面時,應該隨時調用登錄。因此,對於登錄控制器,您可以傳遞頁面用戶試圖訪問的URL,因此在登錄處理後,登錄控制器可以重定向到它。
對於常規控制器,根據它們的作用,可以在處理請求的相同控制器(對於GET請求尤其如此)中返回新頁面的所有模型和視圖。對於文章,您可以返回模型或重定向。
您是使用MVC框架,還是試圖理解模式?在真正的MVC模式中,控制器修改模型,更新用戶看到並修改控制器的視圖。然而,在實踐中,它並不像那樣。 – CodeChimp
我明白它,並有觀察模型層等視圖,但我失去了在某個事件之後加載新的控制器和視圖的位置,例如某人單擊某個按鈕並出現一個新窗口。 – ibanore
再一次,高度依賴於你如何實現「MVC」。例如,PureMVC框架使用事件模型和Command對象將事物連接在一起,並且大部分視圖操作(顯示視圖,隱藏視圖等)都是在控制器中完成的,從我記憶中可以看出。純粹主義者可能會認爲視圖相關的東西應該在View中被觸發,儘管我在Controller中看到的大多數實現都是這樣做的,因爲Model應該是非常愚蠢的。 – CodeChimp