BaseCommandController
命令控制器通用基类,提供了以下功能支持:
1、数据绑定:请求参数绑定到一个command object(命令对象,非GoF里的命令设计模式),这里的命令对象是指绑定请求参数的任何POJO对象;
commandClass:表示命令对象实现类,如UserModel;
commandName:表示放入请求的命令对象名字(默认command),request.setAttribute(commandName, commandObject);
2、验证功能:提供Validator注册功能,注册的验证器会验证命令对象属性数据是否合法;
validators:通过该属性注入验证器,验证器用来验证命令对象属性是否合法;
该抽象类没有没有提供流程功能,只是提供了一些公共的功能,实际使用时需要使用它的子类。
AbstractCommandController
实现该控制器来创建命令控制器,该控制器能把自动封装请求参数到一个命令对象,而且提供了验证功能。
AbstractFormController
用于支持带步骤的表单提交的命令控制器基类,使用该控制器可以完成:
1、定义表单处理(表单的渲染),并从控制器获取命令对象构建表单;
2、提交表单处理,当用户提交表单内容后,AbstractFormController可以将用户请求的数据绑定到命令对象,并可以验证表单内容、对命令对象进行处理
SimpleFormController
提供了更好的两步表单支持:
1、准备要展示的数据,并到表单展示页面;
2、提交数据数据进行处理。
CancellableFormController
一个可取消的表单控制器,继承SimpleFormController,额外提供取消表单功能。
1
、表单展示:
和SimpleFormController一样;
2
、表单取消:
和SimpleFormController一样;
3
、表单成功提交:
取消功能处理方法为:onCancel(Object command),而且默认返回cancelView属性指定的逻辑视图名。
那如何判断是取消呢?如果请求中有参数名为“_cancel”的参数,则表示表单取消。也可以通过cancelParamKey来修改参数名(如“_cancel.x”等)。
AbstractUrlViewController
提供根据请求URL路径直接转化为逻辑视图名的支持基类,即不需要功能处理,直接根据URL计算出逻辑视图名,并选择具体视图进行展示:
urlDecode:是否进行url解码,不指定则默认使用服务器编码进行解码(如Tomcat默认ISO-8859-1);
urlPathHelper:用于解析请求路径的工具类,默认为org.springframework.web.util.UrlPathHelper。
UrlFilenameViewController是它的一个实现者,因此我们应该使用UrlFilenameViewController。
UrlFilenameViewController
将请求的URL路径转换为逻辑视图名并返回的转换控制器,即不需要功能处理,直接根据URL计算出逻辑视图名
分享到:
相关推荐
"Realtek PCIe GBE Family Controller 驱动"是针对Realtek公司生产的PCI Express千兆以太网控制器的专用驱动程序。这个驱动程序是确保计算机系统中的网络接口卡(NIC)能够正常工作的重要组成部分,它提供了与操作...
《GrblController:一款强大的雕刻机控制软件》 在数字化制造和艺术创作的世界里,雕刻机扮演着至关重要的角色。而高效地操控这些设备则离不开优秀的控制软件,这就是GrblController的用武之地。这款软件专为配合...
`Controller对请求封装和返回`这个主题主要涉及如何有效地设计和实现Controller层,以便处理来自客户端的请求,并以适当的方式返回响应数据。ControllerUtils类的引入,通常是为了提供一些通用的方法,帮助简化...
然而,有时可能会遇到需要一个Controller调用另一个Controller的情况,虽然这不是最佳实践,但在某些特定场景下可能是必要的。本文将探讨两种在Spring Boot中实现Controller间调用的方法及其优缺点。 首先,我们...
《ingress-nginx-controller详解与实战指南》 在 Kubernetes 集群中,ingress-nginx-controller 是一种常用的网络路由控制器,它基于 Nginx 实现,用于处理来自外部的入站流量,将请求转发到相应的后端服务。本文将...
USB Serial Controller驱动程序是计算机操作系统与USB到串行适配器之间通信的关键组件。它允许计算机识别并正确处理通过USB接口连接的各种串行设备,如调制解调器、GPS接收器、电子阅读器、打印机、扫描仪等。在...
USB-Serial Controller是一种通用串行总线(USB)设备,它允许通过USB接口与各种串行设备进行通信。在Windows操作系统中,当你连接一个这样的设备时,系统可能会提示你安装USB-Serial Controller的驱动程序。这个...
《GrblController361中文版:开启您的雕刻与写字机之旅》 GrblController361是一款基于Grbl协议的上位机控制软件,专为GCode编程爱好者和小型数控设备用户设计。这款软件的独特之处在于其已被汉化为中文版,极大地...
安装VSC非常简单,只需将压缩包中的"Video-Speed-Controller.crx"文件拖放到Chrome浏览器的扩展管理页面,即可快速添加到浏览器。插件的界面简洁直观,操作便捷,用户无需花费过多时间去熟悉。 对于教育、研究、...
《GrblController中文版与CNC固件详解》 在当今的数字制造领域,CNC(计算机数控)设备已经成为一种重要的工具,而GrblController中文版则是与这些设备交互的重要软件之一。本篇文章将深入探讨GrblController中文版...
当我们想通过注解方式拦截Controller层的方法时,可能会遇到一些问题。本文将详细介绍如何使用AspectJ注解在Spring MVC中实现AOP拦截Controller方法,并提供一个具体的例子。 首先,我们需要了解Spring AOP的基础...
《Q Light Controller-3.2:QT技术在灯光控制中的应用》 Q Light Controller是一款基于QT框架开发的专业灯光控制软件,版本3.2是其较新的一个迭代,它以其强大的功能和用户友好的界面,为舞台灯光设计者和操作者...
USB 2.0 Capture Controller驱动程序是连接到计算机并处理USB 2.0视频采集设备的关键组件。在Windows 7和Windows 8操作系统上,这些驱动程序允许用户通过USB接口捕获、录制或实时传输视频数据。Easycap 2.0是一款...
GrblController是一款针对Arduino控制器的PC端雕刻控制软件,特别适用于使用GRBL固件的雕刻机进行操作。在了解GrblController的安装和使用之前,有必要对GRBL固件有所了解。GRBL是一款专为微控制器设计的开源固件,...
在Unity中,角色控制器(CharacterController)是实现角色移动和交互的重要组件,它提供了对玩家角色进行基本操作的接口,如碰撞检测、移动和旋转等。 在Unity3D中,CharacterController组件不直接继承自Collider或...
在Spring MVC框架中,单元测试是确保代码质量的重要步骤,特别是在控制器层(Controller)。这篇博客主要探讨了如何使用JUnit进行Spring MVC Controller的单元测试。在实际开发中,单元测试可以帮助我们尽早发现潜在...
"Realtek PCIe GBE Family Controller" 是一款由Realtek公司生产的网络控制器,它主要用于提供千兆位(Gigabit Ethernet)的局域网连接。在计算机硬件领域,网卡是计算机与网络之间通信的关键组件,负责将数据转换为...
USB-Serial Controller是一种常见的USB到串行接口控制器,它允许USB设备模拟传统的串行通信接口,如RS-232,使得旧的串行设备能够与现代的USB接口兼容。在计算机硬件领域,这种技术被广泛应用,特别是在需要连接串行...
"springaop拦截controller日志"这个主题旨在讲解如何使用Spring AOP来拦截Controller层的方法调用,并在方法执行前后记录相关日志。 首先,了解Spring AOP的基本概念。AOP是一种编程范式,它允许程序员定义“切面”...
在ASP.NET MVC框架中,Controller是处理用户请求并返回响应的核心组件。多层级Controller目录的实现是为了更好地组织和管理大型项目中的代码,提高代码的可读性和可维护性。这样的结构有助于将相关的Controller逻辑...