上一章中,我就提到了抽象命令控制器:AbstractCommandController。也列举了它的一些源代码。本章将通过一个具体的实例来加深我们对它的理解。
更多精彩内容请看 web 前端中文站
http://www.lisa33xiaoq.net 可按 Ctrl + D 进行收藏
命令控制器,可以实现该控制器来创建命令控制器,该控制器能把自动封装请求参数到一个命令对象,而且提供了验证功能。
先创建命令类(就是普通的 JavaBean 类/POJO)。
package com.lisa33xiaoq.net.chapter4.model; public class UserModel { private String username; private String password; //省略 setter/getter }
实现控制器的代码如下:
package com.lisa33xiaoq.net.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.lisa33xiaoq.net.chapter4.web.controller.MyAbstractCommandController"> <!-- 也可以通过依赖注入 注入命令实现类 --> <!-- property name="commandClass" value="com.lisa33xiaoq.net.chapter4.model.UserModel"/--> </bean>
最后我们编写 jsp 视图代码。
<!— WEB-INF/jsp/abstractCommand.jsp 视图下的主要内容 --> ${user.username }-${user.password }
【注:本文源自网络文章资源,由站长整理发布】