• 欢迎访问web前端中文站,JavaScript,CSS3,HTML5,web前端demo
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏web前端中文站吧

AbstractCommandController(抽象命令控制器)

JAVA web前端中文站 3年前 (2017-07-14) 1274次浏览 已收录 0个评论

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

当我们在浏览器中输入“http://localhost:9080/springmvc-chapter4/abstractCommand?username=123&password=123”,会自动将请求参数 username 和 password 绑定到命令对象;绑定时按照 JavaBean 命名规范绑定;

AbstractCommandController(抽象命令控制器)

【注:本文源自网络文章资源,由站长整理发布】


web 前端中文站 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:AbstractCommandController(抽象命令控制器)
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址