1. 程式人生 > >SpringMVC入門之三:控制器&模型

SpringMVC入門之三:控制器&模型

在SpringMVC中,控制器只是方法上添加了@Controller註解的類,這個註解聲明瞭他們所要處理的請求。下面是一個簡單的小例子

這個控制器要處理對“/”的請求,並渲染應用的首頁,這可能是最簡單的控制器了。

@Controller是一個構造型的註解,它基於@Component註解,在這裡,它的目的就是輔助實現元件掃描。因為HomeController帶有@Controller註解,因此元件掃描器會自動找到HomeController,並將其宣告為Spring應用上下文中的一個bean。 @Controller註解在功能上和@Component一致,實際上我們可以將@Controller替換為@Component,這樣的效果是一樣的,但是在表意性上會差一些,無法確定HomeController是什麼元件型別。

@RequestMapping註解的value屬性制定了這個方法所要處理的請求路徑,method屬性細化了它所處理的HTTP方法。這個方法直接返回了String型別的”home”,DispatcherServlet會要求檢視解析器把這個檢視名解析為檢視。根據我們配置InternalResourceViewResolver的方式,檢視名“home”將會解析為“/WEB-INF/views/home.jsp”路徑的JSP。

當控制器在類級別上新增@RequestMapping註解時,這個註解會應用到控制器的所有處理器方法上。@RequestMapping的value屬效能夠接受一個String型別的陣列,我們可以給它新增多個對映,如:

  • Model是什麼

    Model實際上就是一個Map(也就是key-value對的集合),它會傳遞給檢視,武漢英語培訓機構這樣資料就能渲染到客戶端了。在控制器中,需要返回的資料被裝填到了Model型別的屬性——model中,並且被帶給了相應的檢視。

  • JSP中獲取模型資料

    資料已經放到了模型當中之後,在JSP中應該如何訪問它呢?實際上,當檢視是JSP的時候,模型資料會作為請求屬性放到請求(request)中。因此,在JSP檔案中可以使用JSTL(JavaServer Pages Standard Tag Library)的標籤渲染列表輸出