springmvc-框架提供的控制器

  1. 命令控制器

            a.       创建一个自定义的命令控制器,继承一个父类AbstractCommandController

            b.       在控制器中通过构造方法指定命令类,由框架负责包装实体对象

package cn.internet.controller;

import java.util.HashMap;
import java.util.Map;

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.AbstractCommandController;

import cn.internet.domain.Book;

/**
 * 自定义的命令控制器,需要继承一个父类:AbstractCommandController
 * @author    zhangbin
 *
 */
@SuppressWarnings("deprecation")
public class BookController extends AbstractCommandController{

    /**
     * 通过构造方法指定命令类,指定由框架负责包装的实体类型
     */
    public BookController() {
        this.setCommandClass(Book.class);//指定由框架负责包装的实体类型
    }
    protected ModelAndView handle(HttpServletRequest request,
            HttpServletResponse response, Object command, BindException errors)
            throws Exception {
        
        Book book=(Book)command;
        System.out.println(book);
        Map<String, Object> model=new HashMap<>();
        model.put("msg", "hello");
        return new ModelAndView("success", model);
    }

}

c.       在自定义的控制器默认方法中进行强转

d.       springmvc的配置文件中注册自定义的命令控制器


你可能感兴趣的:(springmvc-框架提供的控制器)