spring webflow : 上传单个文件实例
准备
如果你项目中使用了spring security的话,参考上一篇文章,使用上篇的第二种方法,并去掉
MultipartFilter
(如果有配置的话),否则得不到文件流程中的变量(如用var标签定义的变量),都需要实现
Serializable
接口。
实现过程
在pom.xml文件中加入下列依赖:
<!-- 支持文件上传 --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.2.1</version> </dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version></dependency>
在spring-servlet.xml(Spring MVC的配置文件)中加入文件上传解析器:
<!-- 文件上传解析器--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><!-- one of the properties available; the maximum file size in bytes --><property name="maxUploadSize" value="10485760"/></bean>
实体类,记住要实现Serializable
接口,属性类型是MultipartFile
:
@Component
public class GoodsEntity implements Serializable{private static final long serialVersionUID = 1L;private MultipartFile images; public MultipartFile getImages() {return images;}public void setImages(MultipartFile images) {this.images = images;}}
流程定义代码,没什么特别的:
<?xml version="1.0" encoding="UTF-8"?>
<flow xmlns="http://www.springframework.org/schema/webflow"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/webflowhttp://www.springframework.org/schema/webflow/spring-webflow-2.0.xsd"><var name="goods" class="com.huanle.model.entity.GoodsEntity"/><view-state id="viewfirst" view="/views/user/releasegoods/release_first.jsp" model="goods"><transition on="submit" to="viewsecond"></transition></view-state> <view-state id="viewsecond" view="/views/user/releasegoods/second.jsp" model="goods"><transition on="submit" to="performReleaseGoodsAction"></transition></view-state><action-state id="performReleaseGoodsAction" ><evaluate expression="goodsService.save(goods)"></evaluate><transition to="returntouserindex"></transition></action-state><end-state id="returntouserindex" view="/views/user/seller/index.jsp"></end-state><global-transitions><transition on="cancel" to="returntouserindex"></transition></global-transitions></flow>
上传表单代码,无需特别配置:
<form:form action="${flowExecutionUrl}&_eventId=submit&${_csrf.parameterName}=${_csrf.token}" method="post" commandName="goods" enctype="multipart/form-data"><input type="hidden" name="_flowExecutionKey" value="${flowExecutionKey}"/>商品图片:<form:input id="images" path="images" type="file" multiple="multiple" /><input type="submit" > </form:form>
就这样就可以了
参考文档
Handling File Uploads in webflow
Spring’s multipart (file upload) support in Spring MVC
spring webflow : 上传单个文件实例相关推荐
- webflow ajax,java开发之spring webflow实现上传单个文件及多个文件功能实例
本文实例讲述了java开发之spring webflow实现上传单个文件及多个文件功能.分享给大家供大家参考,具体如下: 上传单个文件 准备 1. 如果你项目中使用了spring security的话 ...
- Spring webflow:上传多个文件
上篇讲了上传单个文件,在上篇的基础上稍作修改就可以上传多个文件了. 实现 首先,实体类要修改,使用List来存储多个文件: @Component public class GoodsEntity im ...
- express,multer,jQuery前端后端上传单个文件
文章目录 先安装基本的模块 附上multer的github当中别人汉化的API文档 开始创建基本express(上传图片) 测试是否正常 前端部分 前端需要注意的 multer使用 multer({} ...
- 利用 Spring MVC 上传多文件到指定目录 spring upload files
本篇文章,我们会教你通过eclipse构建一个创建一个Java web项目并转为maven工程,实现用spring mvc将所选文件上传到指定目录 开发环境: 1.JDK 1.7 2.Maven 3. ...
- java spring mvc 上传_Java Spring MVC 上传下载文件配置及controller方法详解
下载: 1.在spring-mvc中配置(用于100M以下的文件下载) 下载文件代码 @RequestMapping("/file/{name.rp}") public Respo ...
- 上传下载文件实例(vsftp服务器+nginx)
上传下载文件实例(vsftp服务器+nginx) 页面(上传+下载) <form action="/pic/upload" enctype="multipart/f ...
- 文件上载限制4gb_新get!百度网盘破除上传单个文件超4GB限制
现在网盘的限制是越来越多,国内还在免费+能用的也就剩百度网盘了.虽然随便注册个账号大家都能凑合用用,但非会员5GB的使用空间.上传/下载速率限制,加上下载大文件必须使用网盘客户端等,让小编发现百度网盘 ...
- python上传本地文件到ftp_python实现的简单FTP上传下载文件实例
本文实例讲述了python实现的简单FTP上传下载文件的方法.分享给大家供大家参考.具体如下: python本身自带一个FTP模块,可以实现上传下载的函数功能. #!/usr/bin/env pyth ...
- Python+selenium 自动化 - 实现自动导入、上传外部文件实例演示
一开始我觉得导入外部文件是需要操作 windows 的文件窗口呢,后来发现原来不用那么麻烦,只要给文件上传的元素传一个本地路径就好了,就是一个 input 类型的. 右键元素点击检查可以看到对应的元素 ...
最新文章
- poj2017——Speed Limit
- 使用VS插件在VS2012/2013上编辑和调试Quick-Cocos2d-x的Lua代码
- 配置FTP服务(一):pureftp部署和优化
- 简明易懂的call apply
- 苹果电脑连服务器传文件慢,两个mac之间快速传递文件
- Kudu : kudu 主键相关
- java案例代码5--编码的方式--密码
- 一年多 Let’s Encrypt 的 SSL 证书使用有感
- 高等代数(邱维声):高等代数的研究对象
- rx560d linux 图形设计,RX560D与560区别对比:RX 560D和RX 560哪个好
- 学创客机器人编程材料费贵吗_创客机器人课程容易学习吗
- 负数除以整数的余数怎么算?
- 地理信息系统GIS基础知识
- PPT一次性压缩图片
- PNG图片压缩原理--屌丝的眼泪 #1
- 投票服务器维护时间,【维护】4月1日官方维护公告(正式服)
- python--数据挖掘开头(KNN使用,OneR介绍)
- 这猪蹄是人类能吃完的?
- 【Pytorch基础教程34】EGES召回模型
- 北京博奥智源,发布ERP系统之财务管理及成本核算模块开发功能
热门文章
- 9、Flutter 实现 生成二维码
- oracle 10g冷备份恢复处理详细步骤
- centos中nodejs npm环境完全删除
- sqlserver获得到当前游标中存在的数据行数
- java手机飞行模式_用了这么多年手机才知道,飞行模式还藏着这6个功能!太好用了...
- 2019贵州大学计算机研究生,贵州大学2019年硕士研究生招生拟录取名单公示(一)...
- android 杀 服务器,android busybox httpd搭建简单web服务器
- 【Makefile由浅入深完全学习记录5】预定义变量的使用
- Storm环境搭建(分布式集群)
- 【bzoj4444】[Scoi2015]国旗计划 倍增