上一章中,我就提到了抽象命令控制器:AbstractCommandController。也列举了它的一些源代码。本章将通过一个具体的实例来加深我们对它的理解。
命令控制器,可以实现该控制器来创建命令控制器,该控制器能把自动封装请求参数到一个命令对象,而且提供了验证功能。
先创建命令类(就是普通的JavaBean类/POJO)。
package com.xttblog.chapter4.model; public class UserModel { private String username; private String password; //省略setter/getter }
实现控制器的代码如下:
package com.xttblog.web.controller; //省略import public class MyAbstractCommandController extends AbstractCommandController { public MyAbstractCommandController() { //设置命令对象实现类 setCommandClass(UserModel.class); } @Override protected ModelAndView handle(HttpServletRequest req, HttpServletResponse resp, Object command, BindException errors) throws Exception { //将命令对象转换为实际类型 UserModel user = (UserModel) command; ModelAndView mv = new ModelAndView(); mv.setViewName("abstractCommand"); mv.addObject("user", user); return mv; } }
然后再再Spring配置文件中进行bean的配置。
<!— 在chapter4-servlet.xml配置处理器 --> <bean name="/abstractCommand" class="com.xttblog.chapter4.web.controller.MyAbstractCommandController"> <!-- 也可以通过依赖注入 注入命令实现类 --> <!-- property name="commandClass" value="com.xttblog.chapter4.model.UserModel"/--> </bean>
最后我们编写jsp视图代码。
<!— WEB-INF/jsp/abstractCommand.jsp视图下的主要内容 --> ${user.username }-${user.password }
当我们在浏览器中输入“http://localhost:9080/springmvc-chapter4/abstractCommand?username=123&password=123”,会自动将请求参数username和password绑定到命令对象;绑定时按照JavaBean命名规范绑定;
: » AbstractCommandController(抽象命令控制器)
原创文章,作者:506227337,如若转载,请注明出处:https://blog.ytso.com/tech/java/251624.html