鍍金池/ 教程/ Java/ Spring MVC可參數(shù)化的視圖控制器
Spring MVC表單處理
Spring MVC多項單選按鈕
Spring MVC Bean名稱Url處理程序映射
Spring MVC下拉選項(Select)
Spring MVC多動作控制器
Spring4 MVC RESTFul Web Services CRUD實例+RestTemplate
Spring MVC頁面重定向
Spring MVC資源綁定視圖解析器
Spring4 MVC+Hibernate4 Many-to-many連接表+MySQL+Maven實例
Spring4 MVC REST服務(wù)示例使用@RestController
Spring MVC文本域
Spring4 MVC + AngularJS使用$http異步服務(wù)交互
Spring4 MVC文件下載實例
Spring4 MVC表單驗證
Spring4 MVC RESTFul WebServices CRUD實例+RestTemplate
Spring MVC教程
Spring MVC參數(shù)方法名稱解析器
Spring MVC生成JSON數(shù)據(jù)
Spring MVC生成XML
Spring4 MVC 表單驗證和資源處理 (使用注解)
Spring MVC單選按鈕
Spring MVC Xml視圖解析器
Spring MVC復(fù)選框
Spring4 MVC ContentNegotiatingViewResolver多種輸出格式實例
Spring MVC錯誤處理
Spring MVC復(fù)選框(多項)
Spring MVC Hibernate驗證器
Spring4 MVC Hello World注解 (Java Config)實例
Spring MVC靜態(tài)頁面
Spring4 MVC ContentNegotiatingViewResolver實例
Spring MVC列表多選框
Spring MVC生成Excel格式數(shù)據(jù)
Spring MVC文本框
Spring MVC內(nèi)部資源視圖解析器
Spring4 MVC HelloWorld 注解和JavaConfig實例
Spring4 MVC REST服務(wù)使用@RestController實例
Spring MVC簡單URL處理程序映射
Spring MVC4使用Servlet3 MultiPartConfigElement文件上傳實例
Spring MVC概述
Spring4 MVC使用Servlet 3 MultiPartConfigElement文件上傳實例
Spring4 MVC Hello WorldXML實例
Spring MVC屬性方法名稱解析器
Spring4 MVC + Hibernate4 + MySQL + Maven使用注解集成實例
Spring4 MVC + Hibernate4多對多連接表+MySQL+Maven實例
Spring4 MVC+Hibernate4+MySQL+Maven使用注解集成實例
Spring MVC配置靜態(tài)資源和資源包教程
Spring MVC可參數(shù)化的視圖控制器
Spring MVC生成RSS源
Spring4 MVC文件下載實例
Spring MVC密碼處理
Spring MVC隱藏字段域
Spring MVC文件上傳教程
Spring MVC多解析器映射
Spring MVC文件上傳處理
Spring4 MVC HelloWord實例
Spring MVC集成Log4j
Spring4 MVC+ AngularJS CRUD使用$http實例
Spring MVC - Hello World示例

Spring MVC可參數(shù)化的視圖控制器

以下示例顯示如何使用Spring Web MVC框架來實現(xiàn)多動作控制器的可參數(shù)化視圖控制器??蓞?shù)化視圖允許將請求映射到網(wǎng)頁。

所下所示配置 -

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

public class UserController extends MultiActionController{

   public ModelAndView home(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "Home");
      return model;
   } 
}

URL映射配置文件如下 -

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
   <property name="mappings">
      <value>
         index.html=userController
      </value>
   </property>
</bean>
<bean id="userController" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
   <property name="viewName" value="index"/>
</bean>

例如,使用上面的配置,如果URI:

  • 對于/index.html請求,DispatcherServlet會將請求轉(zhuǎn)發(fā)到UserController控制器,并將viewName設(shè)置為index.jsp。

首先,讓我們使用Eclipse IDE,并按照以下步驟使用Spring Web Framework開發(fā)基于動態(tài)表單的Web應(yīng)用程序:

  1. 創(chuàng)建一個名稱為 ParameterizableViewController 的動態(tài)WEB項目。
  2. com.yiibai.springmvc 包下創(chuàng)建一個Java類UserController
  3. jsp子文件夾下創(chuàng)建一個視圖文件:index.jsp。
  4. 最后一步是創(chuàng)建所有源和配置文件的內(nèi)容并運行應(yīng)用程序,詳細(xì)如下所述。

完整的項目文件目錄結(jié)構(gòu)如下所示 -

UserController.java 的代碼如下所示 -

package com.yiibai.springmvc;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

public class UserController extends MultiActionController{

   public ModelAndView home(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "Home");
      return model;
   }
}

ParameterizableViewController-servlet.xml 的代碼如下所示 -

<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:context="http://www.springframework.org/schema/context"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="
   http://www.springframework.org/schema/beans     
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
   http://www.springframework.org/schema/context 
   http://www.springframework.org/schema/context/spring-context-3.0.xsd">

   <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
      <property name="prefix" value="/WEB-INF/jsp/"/>
      <property name="suffix" value=".jsp"/>
   </bean>

   <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
      <property name="mappings">
         <value>
            index.html=userController
         </value>
      </property>
   </bean>
   <bean id="userController" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
      <property name="viewName" value="index"/>
   </bean>
</beans>

index.jsp 的代碼如下所示 -

<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>index.jsp Page</title>
</head>
<body>
   <h2>This is index.jsp page.</h2>  
</body>
</html>

完成創(chuàng)建源和配置文件后,發(fā)布應(yīng)用程序到Tomcat服務(wù)器。

現(xiàn)在啟動Tomcat服務(wù)器,當(dāng)訪問URL => http://localhost:8080/ParameterizableViewController/index.html , 如果Spring Web應(yīng)用程序沒有問題,應(yīng)該看到以下結(jié)果: