上一章中,我就提到了抽象命令控制器: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