嚮導表單控制器

package cn.internet.controller;

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

import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractWizardFormController;

import cn.internet.domain.Book;

/**
 * 自定義嚮導表單控制器
 * @author    zhangbin
 *
 */

public class MyWizardFormController extends AbstractWizardFormController{
    
    /**
     * 經過構造方法指定命令類和命令名稱
     */
    public MyWizardFormController() {
        this.setCommandClass(Book.class);
        this.setCommandName("book");
    }
    /**
     * 在最後一個表單頁面統一提交數據時執行此方法
     */
    protected ModelAndView processFinish(HttpServletRequest request,
            HttpServletResponse response, Object command, BindException errors)
            throws Exception {
        Book book = (Book)command;
        System.out.println(book);
        return new ModelAndView("success","book",book);
    }

}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
                        http://www.springframework.org/schema/beans/spring-beans.xsd 
                        http://www.springframework.org/schema/mvc 
                        http://www.springframework.org/schema/mvc/spring-mvc.xsd 
                        http://www.springframework.org/schema/context 
                        http://www.springframework.org/schema/context/spring-context.xsd 
                        http://www.springframework.org/schema/aop 
                        http://www.springframework.org/schema/aop/spring-aop.xsd 
                        http://www.springframework.org/schema/tx 
                        http://www.springframework.org/schema/tx/spring-tx.xsd ">
    <!-- 按照bean的名稱進行訪問:默認的處理器映射 -->
    <bean id="beanNameHandlerMapping"  class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
        <property name="order" value="1"/>
    </bean>
    <!-- 簡單url處理器映射組件:SimpleURLHandlerMapping -->
    <bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/a.do">userController</prop>
                <prop key="/b.do">userController</prop>
                <prop key="/c.do">userController</prop>
            </props>
        </property>
        <property name="order" value="2"/>
    </bean>
    <!-- 控制器類名處理器映射ControllerClassNameHandlerMapping -->
    <bean id="controllerClassNameHandlerMapping" class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping">
        <property name="order" value="3"/>
    </bean>
    <!-- 註冊自定義的控制器,並經過name屬性指定的值進行訪問 -->
    <bean id="userController" name="/save.do" class="cn.internet.controller.UserController"></bean>
    <!-- 註冊自定義的命令控制器 -->
    <bean name="/book.do" class="cn.internet.controller.BookController"></bean>
    <!-- 註冊自定義的嚮導表單控制器 -->
    <bean name="/wizard.do" class="cn.internet.controller.MyWizardFormController">
        <!-- 經過setter方法注入對應的表單jsp頁面 -->
        <property name="pages">
            <list>
                <value>wizard/1</value><!-- 邏輯視圖名 -->
                <value>wizard/2</value>
                <value>wizard/3</value>
            </list>
        </property>
    </bean>
    <!-- 視圖解析器 -->
    <bean name="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 經過setter方法注入前綴和後綴 -->
        <!-- 注入前綴 -->
        <property name="prefix" value="/jsps/"></property>
        <!-- 注入後綴 -->
        <property name="suffix" value=".jsp"></property>
    </bean>
</beans>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>1.jsp</title>
</head>
<body>
    <form action="${pageContext.request.contextPath }/wizard.do" method="post">
        id:<input type="text" name="id" value="${requestScope.book.id }">
        <input type="submit" name="_cancel" value="取消">
        <input type="submit" name="_target1" value="下一頁">
    </form>
</body>
</html>
相關文章
相關標籤/搜索