java form 上传文件_JAVA入门[16]-form表单,上传文件
一、如何传递参数
@RequestMapping("/detail")
public String detail(@RequestParam("id") int id,Model model){
Category category=new Category();
category.setCateId(id);
category.setCateName("测试分类"+id);
model.addAttribute("cate",category);
return "detail.html";
}
@RequestMapping(value = "/edit/{id}",method = RequestMethod.GET)
public String edit(@PathVariable("id") int id,Model model) {
//todo:get category from db
Category category=new Category();
category.setCateId(id);
category.setCateName("测试分类"+id);
model.addAttribute("cate",category);
return "edit.html";
}
二、校验表单
1.首先定义实体类。
public class Category{
public Category(){}
@NotNull
@Min(1)
private int cateId;
@NotNull
private String cateName;
public int getCateId() {
return cateId;
}
public void setCateId(int cateId) {
this.cateId = cateId;
}
public String getCateName() {
return cateName;
}
public void setCateName(String cateName) {
this.cateName = cateName;
}
}
2.表单edit.html
id: | |
name: | |
3.通过给action方法的参数添加@Valid注解,这会告知Spring,需要确保这个对象满足校验限制
@RequestMapping(value = "/save",method = RequestMethod.POST)
public String save( @Valid Category category, Errors errors) throws IOException {...}
错误可以通过Errors对象进行访问,现在这个对象已作为processRegistration()方法的参数。(很重要一点需要注意,Errors参数要紧跟在带有@Valid注解的参数后面,@Valid注解所标注的就是要检验的参数。
三、上传图片
1.设置web.xml配置
web.xml配置multipart-config
springmvc
org.springframework.web.servlet.DispatcherServlet
1
2097152
4194304
2.from表单
form要将enctype属性设置为multipart/form-data,这就告诉浏览器以multipart数据的形式提交表单
input标签要把type设置为file,这能够让用户选择要上传的图片文件。accept属性用来将文件类型限制为JPEG、PNG以及GIF图片。根据其name属性,图片数据将会发送到multipart请求中的profilePicture part之中
id: | |
name: | |
file: | |
3.controller:
@RequestPart :图片对应的参数要添加该注解
spring提供了Multipart MultipartFile对象,它为处理multipart数据提供了内容更为丰富的对象
transferTo() ,它能够帮助我们将上传的文件写入到文件系统中
@RequestMapping(value = "/save",method = RequestMethod.POST)
public String save(@RequestPart("picture") MultipartFile picture, @Valid Category category, Errors errors) throws IOException {
//todo:save file to image server
String filepath=request.getRealPath("/")+"upload/"+picture.getOriginalFilename();
picture.transferTo(new File(filepath));
if(errors.hasErrors()){
return "edit.html";
}
//todo:save category to db
return "redirect:/category/detail?id="+category.getCateId();
}
java form 上传文件_JAVA入门[16]-form表单,上传文件相关推荐
- php文件上传并保存路径到数据库,thinkphp表单上传文件并将文件路径保存到数据库中?...
上传单个文件,此文以上传图片为例,上传效果如图所示 创建数据库upload_img,用于保存上传路径 CREATE TABLE `seminar_upload_img` ( `id` int(11) ...
- form表单上传文件_SpringBoot中如何使用SpringMVC上传文件?
今天我们要说的这个话题很简单,不要问为啥,因为SpringBoot,哈哈.现在SpringBoot可以说人人都会用了,它的好处是显而易见的,大大的简化了配置,一起来看看吧. 我们分以下3种情况来谈这个 ...
- ajax post form上传图片,ajax怎样提交form表单与实现文件上传
这次给大家带来ajax怎样提交form表单与实现文件上传,ajax提交form表单与实现文件上传的注意事项有哪些,下面就是实战案例,一起来看一下. 前几天,发现了一些小问题.我在写后台管理页面时,需要 ...
- ajax 表单提交传文件,Ajax提交Form表单及文件上传
刚刚申请下来的博客,写得第一篇.有点小激动,本人以前是一名工业3D设计师突然有些变故做上了JavaWeb开发: 前几天,发现了一些小问题.我在写后台管理页面时,需要上传一张图片.于是我就用很普通的Fo ...
- javaweb开发之处理表单上传文件和文件下载
2019独角兽企业重金招聘Python工程师标准>>> 一.基于表单的上传文件 1. enctype属性 当表单需要上传文件时,需指定表单 enctype 的值为 multipart ...
- Web后端学习笔记 Flask(8) WTForms 表单验证,文件上传
Flask-WTF是简化了WTForms操作的一个第三方库.WTForms表单的两个主要功能是验证用户提交数据的合法性以及渲染模板.同时还包含一些其他的功能.例如CSRF保护,文件上传等功能,安装fl ...
- SpringMVC之表单提交===③===多文件上传表单
上文简单介绍了springmvc单文件上传表单 ,本文继续介绍多文件上传表单.包含单文件上传的表单已经能够满足大部分功能需求,但任然不够完善.实际业务中可能会包含多个文件同时上传,例如:商家在电商平台 ...
- serverlet 原理_serverlet实现表单上传文件原理
("/home/jh/upload/request.txt"); PrintWriter fileout = new PrintWriter(new FileWriter(f)); ...
- WebApi发送HTML表单数据:文件上传与多部分MIME
5.3 Sending HTML Form Data 5.3 发送HTML表单数据(2) 本文引自:http://www.cnblogs.com/r01cn/archive/2012/12/20/28 ...
最新文章
- 个人作业-Alpha项目测试
- python项目实例初学者-python 初学者必备14张思维导图
- Winform中对DevExpress的RadopGroup的Description、Value、Tag、Text的理解与使用
- 理论计算机科学研究生,清华大学理论计算机科学中心姚期智组招收保送研究生,请帮忙发到虎...
- 赋能工业互联网融合发展 | 北京信息化和工业化融合服务联盟平台化设计专业委员会、中国仿真学会CAE仿真专业委员会成立
- PostgreSQL 10.1 手册_部分 II. SQL 语言_第 9 章 函数和操作符_9.22. 子查询表达式
- Go语言与数据库开发:01-11
- lamda获取参数集合去空_集合源码解析之LinkedList
- SpringMVC+Thymeleaf如何处理URL中的动态查询参数
- 微软拟测试类微博服务OfficeTalk
- 间距margin、padding - bootStrap4常用CSS笔记
- GB2312、GBK汉字字库偏移地址的计算
- acm中c语言标准输入输出,ACM竞赛之输入输出
- java keystore php,KeyStoreSpi
- Cloud Rover隐私政策
- 英语3500词(15/20)crime主题(2022.1.27)
- 数学基础知识02——旋转轴、旋转角度和旋转矩阵
- 用.net制作排序、分页及多条记录选择及删除的范例(不用.net内置的分页和排序机制)
- 从零开始的RVOS: Referring Video Object Segmentation
- androoid_4_4 yuga_clm920_cn 4G_module调试