0
我一直在閱讀關於MVC的書。混淆是關於模型交流的觀點如何發生的事實。我想了解在使用JSP和servlet的簡單Java Web應用程序中如何發生這種情況。MVC中如何查看模型通信
視圖通常得到它需要從模型
顯示,直接 它是變化的模型對象的狀態控制器的狀態和數據。一旦更改,控制器就會通過請求對象將特定對象傳遞給JSP頁面。
在控制器servletrd = request.getRequestDispatcher("/success.jsp");
User userObj = new User(username, password);
request.setAttribute("user", userObj);
rd.forward(request, response);
在的success.jsp
<%
User bean=(User)request.getAttribute("user");
out.print("Welcome, "+bean.getName());
%>
請求調度轉發的請求和響應對象到jsp頁面。 jsp頁面使用請求對象訪問修改的模型對象(userObj)。這是什麼意思與模型的觀點談判?這是視圖與模型之間溝通的基本方式嗎? (我的意思是通過request.getAttribute()
?)
這一切都取決於你遵循的哲學,例如,有人會說視圖和模型不應該直接對話,但應該通過控制器 – MadProgrammer
進行交流,這樣兩者都可以接受?在我的代碼中,視圖和模型是否交談? – DesirePRG
兩者都可以接受,但你應該保持使用其中一種。但是我說控制器在這種情況下直接將模型傳遞給視圖(如果我們假設模型是'User') – MadProgrammer