上传图片

1.1 配置虚拟目录

1.2 配置解析器

Validation校验

b/s系统中对http请求数据的校验多数在客户端进行,这也是出于简单及用户体验性上考虑,但是在一些安全性要求高的系统中服务端校验是不可缺少的,本节主要学习springmvc实现控制层添加校验。

Spring3支持JSR-303验证框架,JSR-303是JAVA EE 6中的一项子规范,叫做Bean Validation,官方参考实现是Hibernate Validator(与Hibernate ORM没有关系),JSR 303用于对Java Bean中的字段的值进行验证。

1.1 需求

对商品信息进行校验,是否必须,输入数据合法性。

1.2 加入jar包

1.3 配置validator

1.4 将validator加到处理器适配器

配置方式1:

配置方式2:

1.5 添加验证规则

1.6 错误消息文件CustomValidationMessages

item.name.length.illigel=商品在名称在1到3个字符之间

pic.is.null=请上传图片

如果在eclipse中编辑properties文件无法看到中文则参考“Eclipse开发环境配置-indigo.docx”添加propedit插件。

1.7 捕获错误

修改Controller方法:

注意:添加@Validated表示在对items参数绑定时进行校验,校验信息写入BindingResult中,在要校验的pojo后边添加BingdingResult, 一个BindingResult对应一个pojo,且BingdingResult放在pojo的后边。

商品修改页面:

页头:

在需要显示错误信息地方:

说明:

表示如果item参数绑定校验错误下边显示错误信息。

1.8 分组校验

如果两处校验使用同一个Items类则可以设定校验分组。

定义分组:

分组就是一个标识,这里定义一个接口:

指定分组校验:

在@Validated中添加value={ValidGroup1.class}表示商品修改使用了ValidGroup1分组校验规则,也可以指定多个分组中间用逗号分隔,

@Validated(value={ValidGroup1.class,ValidGroup2.class })

1.3 jar包

CommonsMultipartResolver解析器依赖commons-fileupload和commons-io,加入如下jar包:

1.4 单个图片上传

1、controller:

2、 页面:

form添加enctype=”multipart/form-data”:

file的name与controller形参一致:

java数据校验博客_springmvc教程:利用Validation进行参数校验相关推荐

  1. Django 3.2.5博客开发教程:用Admin管理后台管理数据

    上节我们我们把数据库迁移到数据库里去了,那么现在我们数据库里是个什么样的情况呢?我们点击Pycharm右上角的Database,然后在网站项目里选中我们的数据库文件db.sqlite3,把它拖到Dat ...

  2. Django 3.2.5博客开发教程:使用富文本编辑器添加数据

    在Django admin后台添加数据的时候,文章内容文本框想发布一篇图文并茂的文章需就得手写Html代码,这十分吃力,也没法上传图片和文件.这显然不是我等高大上程序猿想要的. 为提升效率,我们可以使 ...

  3. Django 3.2.5博客开发教程:体验数据查询

    进行数据查询之前,我们需要先进入我们的管理后台,在里面添加一些数据.然后我们用Pycharm打开我们的数据库.具体操作方法:用Pycharm可视化操作数据库 我们的数据结构长这般模样: 双击blog_ ...

  4. 分享几个开源Java写的博客系统

    文章目录 1. halo(完善生态) 2. solo 3. OneBlog 4. 蘑菇博客(微服务) 5. JPress 有关Java写的博客,网上其实有很多,一般自己如果有技术的话也是可以写的出来的 ...

  5. 介绍一个node创建博客的教程并总结

    接近一个月没写博客了,是因为实在不知道该写什么= =... 除了完成工作外,这段时间自学了一个教你使用node从0-1创建博客的教程,写的十分详细,教程也重构过几次了,已经相对比较完善,推荐对node ...

  6. Django 3.2.5博客开发教程:HelloWorld欢迎页面

    基础配置做好了之后,我们就可以先迁移数据到数据库,然后启动我们的项目,感受Django的魅力. 在Pycharm左下角底部的Terminal,会弹出Terminal终端窗口,Pycharm自动会帮我们 ...

  7. Django 3.2.5博客开发教程:体验django模板

    上面我们有说过,用户发送请求的时候,视图会返回一个响应,响应可以是一个重定向,一个404错误,一个XML文档,一张图片或者是一个HTML内容的网页.前面几个返回的信息比较有限,我们重点更多是放在HTM ...

  8. Django 3.2.5博客开发教程:一些常用的模板使用方法

    一.django static文件的引入方式 1.在django project中创建 static文件夹 2.settings.py中配置要在 STATIC_URL = '/static/' 下边 ...

  9. Django 3.2.5博客开发教程:实现模板之前的分析与准备

    在之前的体验django模板.体验数据查询以及一些常用的模板使用方法文章里,向大家介绍了如何将数据库的数据展现到网页上,和一些简单的模板使用方法.之后我们就开始实现各种页面的展现. 在此之前,我们先从 ...

最新文章

  1. python3.7下载包的命令_python3.7中安装paddleocr及paddlepaddle包的多种方法
  2. 机器学习知识点(三十二)微积分基础
  3. 好用的wordpress主题
  4. 狂神java什么来头_狂神说SpringBoot18:集成SpringSecurity
  5. python3扫盲系列-(3)
  6. v-if v-else-if v-else
  7. mfc控件位置随对话框窗口移动
  8. MACOSX下查看某个端口被哪个程序占用及杀进程方法
  9. 【华为云技术分享】前端快速建⽴Mock App
  10. 用计算机画 信息技术课标要求,[引用]小学信息技术课程标准
  11. 揭露一种通过网络实施ATM诈骗的手段!
  12. C语言保留字(关键字)汇总——转载
  13. Chrome免安装版制作
  14. 学生用计算机中怎样输入分数,职称计算机考试Excel中输入分数技巧
  15. Centos7 编译 php5.6出错
  16. C++ GUI Programming with Qt4 Second Edition 之 附录A.2 Windows系统Qt的安装
  17. 取消选中单选框radio的三种方式
  18. VB.net:VB.net编程语言学习之添加引用打包安装项目的简介、案例应用之详细攻略
  19. Kafka请求发送分析
  20. 使用国密函数读取金税盘信息-Delphi 版

热门文章

  1. python 画图--简单开始及折线图
  2. idea 配置J2EE
  3. checkbox全选
  4. 浅谈JSONP 的本质工作原理
  5. asp.net mvc 伪静态添加
  6. 屋子里有1到100号100盏关闭的灯
  7. 开发extjs常用的插件
  8. 网站防盗链就是那么简单
  9. c++类的成员函数作回调函数为啥要声明为static的
  10. Uber柳甄:Uber中国独立核算 谋求国内A股上市