- 命令控制器
a. 创建一个自定义的命令控制器,继承一个父类AbstractCommandController
b. 在控制器中通过构造方法指定命令类,由框架负责包装实体对象
1package cn.internet.controller; 2 3import java.util.HashMap; 4import java.util.Map; 5 6import javax.servlet.http.HttpServletRequest; 7import javax.servlet.http.HttpServletResponse; 8 9import org.springframework.validation.BindException; 10import org.springframework.web.servlet.ModelAndView; 11import org.springframework.web.servlet.mvc.AbstractCommandController; 12 13import cn.internet.domain.Book; 14 15/** 16 * 自定义的命令控制器,需要继承一个父类:AbstractCommandController 17 * @author zhangbin 18 * 19 */ 20@SuppressWarnings("deprecation") 21public class BookController extends AbstractCommandController{ 22 23 /** 24 * 通过构造方法指定命令类,指定由框架负责包装的实体类型 25 */ 26 public BookController() { 27 this.setCommandClass(Book.class);//指定由框架负责包装的实体类型 28 } 29 protected ModelAndView handle(HttpServletRequest request, 30 HttpServletResponse response, Object command, BindException errors) 31 throws Exception { 32 33 Book book=(Book)command; 34 System.out.println(book); 35 Map<String, Object> model=new HashMap<>(); 36 model.put("msg", "hello"); 37 return new ModelAndView("success", model); 38 } 39 40}
c. 在自定义的控制器默认方法中进行强转
d. 在springmvc的配置文件中注册自定义的命令控制器