- 命令控制器
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的配置文件中注册自定义的命令控制器