关于Spring控制器的一点点疑惑
我们知道spring MVC框架中,提供了集中控制器,比如说AbstractController,AbstractCommandController等,拿处理命令的控制器(AbstractCommandController)来说,若我的请求URL带有一个参数(e.g:http://XXX/ccc?id=1)如果我要使用这种命令控制器的话,那么我必须要写一个id的POJO对象,然后再在命令控制器中引用这个POJO对象,获得URL中的id值;
而另外一种方法,我们可以直接使用request.getParameter("id")这一句话就可以获得URL中id的值,spring的处理方式不是非常麻烦吗,既然这样为什么还要使用命令控制器呢?
它引出AbstractFormController这个类,其实就是把表单上的所有属性通过对象的方式传给控制器
你可以利用JAVA的反射机制,将command的数据复制到你的pojo,就可以直接保存了
不需要多个request.getParameter这样的获取页面数据,是不是省事很多呢
觉得麻烦的话,直接实现Controller接口吧,接口定义非常简单。
ModelAndView handleRequest(
HttpServletRequest request, HttpServletResponse response)
实际上,AbstractController,AbstractCommandController等,都可以看作实现了Controllerd的好用的便利类。