SpringMVC 中 数据绑定 数据转换 自定义数据转换器

FreeRTOS:卡在configASSERT( ( pxQueue ) )问题的解决 FreeRTOS卡在configASSERT( ( pxQueue ) )问题的解决 阅读详情

这里写图片描述

input.jsp页面加入这样的方式,将一个字符串提交到后台。

后台用SpringMVCTest.java处理它。但是这个处理是将字符串转换成对象,所以我们得去配置EmployeeConverter自定义的对象。

package com.hust.springmvc.test;

import com.hust.springmvc.dao.EmployDao;
import com.hust.springmvc.entities.Employee;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * Created by yexx on 16-11-11.
 */

@Controller
public class SpringMVCTest {

    @Autowired
    private EmployDao employDao;

    @RequestMapping(value = "/testConversionServiceConverter", method = RequestMethod.POST)
    public String testConverter(@RequestParam("employee") Employee employee) {
        System.out.print("save:" + employee);
        employDao.save(employee);
        return "redirect:/emps";
    }
}

EmployeeConverter.java

package com.hust.springmvc.converters;

import com.hust.springmvc.dao.DepartmentDao;
import com.hust.springmvc.entities.Department;
import com.hust.springmvc.entities.Employee;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;

/**
 * Created by yexx on 16-11-11.
 */

@Component
public class EmployeeConverter implements Converter<String, Employee> {

    @Autowired
    private DepartmentDao departmentDao;

    @Override
    public Employee convert(String s) {
        if (s != null) {
            String[] vals = s.split("-");
            if (vals != null && vals.length == 4) {
                String lastName = vals[0];
                String email = vals[1];
                Integer gender = Integer.parseInt(vals[2]);

                Employee employee = new Employee(null, lastName, email, gender, departmentDao.getDepartment(Integer.parseInt(vals[3])));
                System.out.println(s + "--convert--" + employee);
                return employee;
            }
        }
        return null;
    }
}

在SpringMVC的配置文件配置如下。配置conversionService,而且还要在mvc:annotation-driven配置一下conversion-service。

<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>

    <!-- 配置 ConversionService -->
    <bean id="conversionService"
          class="org.springframework.context.support.ConversionServiceFactoryBean">
        <property name="converters">
            <set>
                <ref bean="employeeConverter"/>
            </set>
        </property>
    </bean>

这样就能进行自定义数据转换器的功能了,会按照自定义的字符串的格式转换为相应的对象。

跟踪流程:

先在字符串进来的地方打断点,debug模式进入,找到resolveArgument,找到binder。

这里写图片描述

找到conversionService

这里写图片描述

找到最底下我们自己自定义的数据转换器,看到了包名了吧,还有String类型的。可以把他们加到watches,看到具体情况。

这里写图片描述

运行截图

这里写图片描述

这里写图片描述

【8】mctp & pldm 异步会check seq,保证不丢包,虽然发一条req,不用等,但是不能发下一条req,等上条response回来后才能发下一条。TO(tag owner)=1是request,TO=0是response,但是异步通信response由0改为1。如下还有kcs,i3c,serial等。 阅读详情

相关推荐

基于FLUENT的圆柱绕流数值模拟与流场优化策略

本文详细介绍了基于FLUENT的圆柱绕流数值模拟方法与流场优化策略。从基础概念、建模技巧到湍流模型选择,全面解析了圆柱绕流模拟的关键技术,并提供了实用的网格划分和参数设置建议。通过具体案例展示了流动控制方法和优化流程,帮助工程师有效降低阻力系数,提升流场性能。

f6g7h8i9j的博客 704

SpringMVC-8 数据类型转换、数据格式化与数据校验

在进行表单请求提交时,主要面临数据类型转换、数据格式化与数据校验共三个问题,其具体实现代码下载地址:http://download.youkuaiyun.com/download/bingbeichen/9796699。

Java名企面试吧 1843

centos7搭建LNMP环境-编译安装&yum安装-超详细

文章目录1. 首先了解编译安装和yum安装的区别。2. yum安装准备工作---切换阿里云yum源3. 编译安装lnmp4.yum安装lnmp5. lnmp一键安装6. 一些报错7. 笔记8. 参考文章 1. 首先了解编译安装和yum安装的区别。 windows下安装centos虚拟机,之前写过。传送门~~ 编译安装: 可以按需安装,想安在哪个目录下就安在哪个目录下。 可以设定参数 可安装自己想要的版本 yum安装: 安装的方便快捷 不需要考虑包的依赖 可以直接使用service nginx st

最美不过下雨天 9349

SpringMVC数据转换,数据绑定,数据验证流程分析

SpringMVC数据转换,数据绑定,数据验证流程分析 一、SpringMVC的入口DispatcherServlet 1.真正的调用handler的方法是在HandlerAdapter中进行的 protected void doDispatch(HttpServletRequest request, HttpServletResponse response) throw

yzx2015fd的博客 1669

【技术解析】Point-NeRF:如何通过点云优化加速神经辐射场渲染

本文深入解析了Point-NeRF技术,它通过引入3D点云作为几何先验,有效解决了传统神经辐射场渲染速度慢的痛点。该方法利用神经点云构建局部辐射场,结合点剪枝与生长策略进行动态优化,在保证高渲染质量的同时,实现了高达30倍的训练加速,为高效3D场景重建提供了新范式。

weixin_29159127的博客 266

Unity详细介绍说明限制Unity帧率的方式

在Unity开发中,帧率(FPS,Frames per Second)是一个非常重要的表现标准,它直接影响了游戏运行的流畅度。在某些应用场景里,我们可能需要手动限制帧率。限制帧率可以减少电脑的CPU和GPU负载,使运行更加稳定,同时对于移动设备来说还能有效降低电量消耗。下面就详细介绍几种限制Unity中帧率的方式。

zjw1349547081的专栏 5434

SpringMVC常见组件之HandlerMethodReturnValueHandler解析

在前面我们分析[SpringMVC常见组件之HandlerAdapter分析](https://janus.blog.youkuaiyun.com/article/details/120848435)中提到过如下过程: ```java RequestMappingHandlerAdapter.invokeAndHandle(webRequest, mavContainer); --ServletInvocableHandlerMethod.invokeAndHandle(webRequest, mavContaine

小小默:进无止境 6281

ViT 实战 万字全攻略:从图像分类到医学影像,Transformer 重塑视觉 AI

摘要:本文深度解析 ViT(Vision Transformer)算法在视觉任务中的原理与实践,涵盖图像分类、目标检测、语义分割及医学影像分析四大领域。从理论出发,详细拆解图像分块、位置编码、Transformer 编码器等核心机制;通过 PyTorch 与 Timm 库实现模型构建、训练与优化,提供 CIFAR-10、Pascal VOC、Cityscapes 及医学数据集的完整代码示例。针对工业级部署,重点介绍模型量化、TensorRT 加速、Flask API 开发及 Docker 容器化方案。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1935

SpringMVC学习笔记五:使用converter进行参数数据转换

转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6832898.html 一:SpringMVC数据绑定机制 1:request到达SpringMVC框架时,框架会把request对象以及其映射的处理函数的参数实例,传递给 DataBinder; 2:DataBinder调用ConversionService组件,对reques...

a631278993的博客 533

华为OD机试 双机位A卷 - 流量波峰 (C++ & Python & JAVA & JS & GO)

华为OD机试双机位A卷 流量波峰,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 1377

视频流推理的工程架构:YOLO模型如何做到单卡处理16路1080P实时流?

<think>我们只需要根据内容生成摘要,不超过150字。内容是关于YOLO模型单卡处理16路1080P实时流的技术分析,包括方案对比、架构设计等。摘要要简洁,突出关键点。</think>本文深度解析了YOLO模型单卡处理16路1080P实时流的技术方案,对比EagleEye、TensorRT+DeepStream、华为CANN及RK3588四条路线,重点介绍流水线架构、并发模型及显存优化,指出消费级显卡(如RTX 4090)即可实现高并发智能视觉分析。

2601_95807009的博客 162

SpringMVC - 数据绑定(自定义数据转换器:PropertyEditor、Formatter、Converter)(三)

1、PropertyEditor:内置可扩展,在类中进行局部使用 webdatabinder。(不推荐,一般使用全局方案会比较多) 2、Formatter:内置可扩展,全局,或者使用new Formatter的方式进行局部使用,只能转换String到其他类型。 3、Converter:内置不可扩展,全局或局部,和Formatter类似,但Converter的源对象不仅仅是String,而可以自行...

1244

爬虫Incapsula reese84加密案例:Etihad航空(纯算法)

爬虫Incapsula reese84加密案例:Etihad航空,本文就不再讲解如何找加密参数、定位加密参数,以及分析加密的一个过程。就直接从扣算法开始,扣算法前先看之前讲解的加密函数生成的过程,文章会一个函数一个函数的讲解扣算法。fiddler根据规则替换本地文件。调试过程中遇到部分环境不一样是正常的,具体还要根据自己调试的js为准,就像之前补环境时是有二十一个循环,这次扣算法多出一个循环,不过大部分环境是一样的第一个函数:通过document.addEventListener添加了很多事件。

老衲爱洗头的博客 1992

【教程汇总】SpringMVC学习教程汇总

SpringMVC是一种基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,SpringMVC框架帮助我们简化了日常Web开发。 今天小编将写的关于SpringMVC学习教程的文章整理汇总了一下,方便大家阅读。 1、SpringMVC学习(1):快速入门 2、SpringMVC学习(...

qq_24047659的博客 380

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

JavaWeb-21-SpringMVC的数据转换 & 数据格式化 & 数据校验

一:

苍煜 828

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

相对路径与绝对路径 ${pageContext.request.contextPath}

绝对路径:是从盘符开始的路径,形如 C:\windows\system32\cmd.exe 相对路径:是从当前路径开始的路径,假如当前路径为C:\windows 要描述上述路径,只需输入 system32\cmd.exe 实际上,严格的相对路径写法应为 .\system32\cmd.exe 其中,.表示当前路径,在通道情况下可以省略,只有在特殊的情况下不能省略。 假如当前路径为c:\

杜鲁门的博客 2万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

tomcat设置IP地址或者域名访问

tomcat设置IP地址或者域名访问参照百度经验来,但是他的有一个路径是有问题的。找到tomcat的主目录,进入conf文件夹,找到serve.xml,打开修改tomcat的监听端口为80端口: 在server.xml文件中找到:<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" re

杜鲁门的博客 1万+

SSM框架(一)--Spring和MyBatis整合(详细教程)

谈到SSM,我在网上看了很多整合教程,我也跟着一起整合过,都有大大小小的问题,所以今天元旦假期,我就抽一上午写出我自己的教程,一是Spring和MyBatis的整合,二是加上SpringMVC,即SSM大功告成。首先我得说一下我的版本(我觉得版本是次要的,只要你弄清楚配置文件的关系,即怎么配置配置文件,什么版本都一样,只是版本最大的问题我觉得是与jdk和tomcat这些有关)MyBatis 3.2.

杜鲁门的博客 1万+

SpringMVC4.0 + Tomcat7 + JDK7环境搭建 + (Spring4.0jar包+源码+logging+SpringIDE百度网盘下载)

今天一时兴起想用一下新版本的框架,就找了一个SpringMVC4.0的来,还是遇到一些问题,写下来帮助一下大家吧,程序员都知道配环境是最头痛的。这个里面就是Spring4.0jar包+源码+logging+SpringIDE,如果能下载别忘了点个赞。 云盘链接链接:http://pan.baidu.com/s/1c1XqZOs 密码:y26a最最基本的目录结构如下: 先建立动态web工程,然后导

杜鲁门的博客 8841

shiro与SSM项目整合

shiro于SSM整合所有的jar包web.xml中配置shiro的filter在web系统中,shiro也通过filter进行拦截。filter拦截后将操作权交给spring中配置的filterChain(过虑链儿) shiro提供很多filter。applicationContext-shiro.xml在applicationContext-shiro.xml 中配置web.xml中fitle

杜鲁门的博客 8385

shiro+ehcache缓存 和 验证码 和 记住我

shiro缓存针对项目资源或者角色授权需要频繁查询数据库,需要使用shiro缓存。缓存流程shiro中提供了对认证信息和授权信息的缓存。shiro默认是关闭认证信息缓存的,对于授权信息的缓存shiro默认开启的。主要研究授权信息缓存,因为授权的数据量大。用户认证通过。 该 用户第一次授权:调用realm查询数据库 该 用户第二次授权:不调用realm查询数据库,直接从缓存中取出授权信息(权限标识

杜鲁门的博客 5790

MyBatis 逆向工程生产源码(po、mapper)

什么是mybatis的逆向工程 mybatis官方为了提高开发效率,提高自动对单表生成sql,包括 :mapper.xml、mapper.java、表名.java(po类)在企业开发中通常是在设计阶段对表进行设计 、创建。 在开发阶段根据表结构创建对应的po类。mybatis逆向工程的方向:由数据库表 —>java代码逆向工程 使用配置运行逆向工程 方法:本教程使用通过java程序运行逆向工程 。

杜鲁门的博客 4650

SpringMVC 处理静态资源 <mvc:default-servlet-handler/>

SpringMVC 处理静态资源: 1. 为甚么会有这样的问题: 优雅的 REST 风格的资源URL 不希望带 .html 或 .do 等后缀 若将 DispatcherServlet 请求映射配置为 / , 则SpringMVC 将捕获WEB 容器的所有请求, 包括静态资源的请求, SpringMVC 会将他们当成一个普通请求

杜鲁门的博客 4092

Spring MVC 中“拦截器”处理模型数据 (二) @ModelAttribute

在这里强烈建议看看我之前写的几篇关于SpringMVC的博客,都是串通的。@ModelAttribute这个是SpringMVC中处理模型数据的最难也是最重要的点。相当于以前Struct的拦截器。用途:比如我们要修改一个对象的部分数据,按照以前的思维,new一个对象保存数据,然后赋值,把不修改数据先拿出来保存起来。但是这个已经Out了, 在SpringMVC中,是拿到数据库的实例,然后把传进来的值也

杜鲁门的博客 4072

基于url权限管理 shiro基础

什么是权限管理 只要有用户参与的系统一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源。 权限管理包括用户认证和授权两部分。用户认证 概念 用户认证,用户去访问系统,系统要验证用户身份的合法性。最常用的用户身份验证的方法: 1、用户名密码方式 2、指纹打卡机 3、基于

杜鲁门的博客 3376

Spring MVC 使用POJO对象绑定请求参数值

index.jsp前台页面加上这些,把值输入之后,通过post提交到后台。<form action="springmvc/testPOJO" method="post"> username: <input type="text" name="username"/> <br/> password: <input type="password" name=

杜鲁门的博客 3316
上一篇: 相对路径与绝对路径 ${pageContext.request.contextPath}
下一篇: Spring MVC 中关于 mvc:annotation-driven
杜鲁门
博客等级 码龄11年 219粉丝 316原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值