Liferay7 BPM门户开发之45: 集成Activiti文件上传部署流程BPMN模型
2016-12-15 20:50
471 查看
开发文件上传,部署流程模板。
首先,开发jsp页面,deploy.jsp
其中,上传form的action为portlet:actionURL,它的name就是在portlet类中的方法名,即deployUploadAction
接下来开发action代码
对应的上传处理代码段deployUploadAction:
运行界面:
首页,一开始有7个流程模型。
上传xml文件,同时也支持zip、bar文件
上传成功,部署模板后,发现多出了一个。
程序调试日志
Activiti的集成开发系列文章集合在这里:
http://www.cnblogs.com/starcrm/p/6047486.html
方便索引。
全部工程源代码下载
http://download.csdn.net/detail/starcrm/9713027
首先,开发jsp页面,deploy.jsp
<%@ include file="/init.jsp" %> <h3>${RETURN_MESSAGE}</h3> <h2><liferay-ui:message key="Deploy"/></h2> <portlet:actionURL var="uploadURL" name="deployUploadAction"> <portlet:param name="mvcRenderCommandName" value="/deployUploadAction" /> </portlet:actionURL> <form action="${uploadURL }" method="post" enctype="multipart/form-data" style="margin-top:1em;"> <input type="file" name="file" /><br> <input type="submit" value="Upload Model" class="btn" /> </form> <hr class="soften" />
其中,上传form的action为portlet:actionURL,它的name就是在portlet类中的方法名,即deployUploadAction
接下来开发action代码
对应的上传处理代码段deployUploadAction:
public void deployUploadAction(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception{ UploadPortletRequest upr = PortalUtil.getUploadPortletRequest(actionRequest); String fileFieldName = "file"; if (upr.getSize(fileFieldName) == 0) { throw new Exception("空文件!"); } String fileName = upr.getFileName(fileFieldName); try { // 得到输入流(字节流)对象 InputStream fileInputStream = upr.getFileAsStream(fileFieldName);//file.getInputStream(); // 文件的扩展名 String extension = FilenameUtils.getExtension(fileName); // zip或者bar类型的文件用ZipInputStream方式部署 DeploymentBuilder deployment = repositoryService.createDeployment(); if (extension.equals("zip") || extension.equals("bar")) { ZipInputStream zip = new ZipInputStream(fileInputStream); deployment.addZipInputStream(zip); } else if (extension.equals("xml")){ // xml类型的文件 deployment.addInputStream(fileName, fileInputStream); } deployment.deploy(); _log.info(fileName +" deploy success!"); } catch (Exception e) { _log.error(fileName + " error on deploy process, because of file input stream"); } String message = "BPMN file upload success!"; actionRequest.setAttribute("RETURN_MESSAGE", message); }
运行界面:
首页,一开始有7个流程模型。
上传xml文件,同时也支持zip、bar文件
上传成功,部署模板后,发现多出了一个。
程序调试日志
Activiti的集成开发系列文章集合在这里:
http://www.cnblogs.com/starcrm/p/6047486.html
方便索引。
全部工程源代码下载
http://download.csdn.net/detail/starcrm/9713027
相关文章推荐
- Liferay7 BPM门户开发之47: 集成Activiti待办已办任务清单和流程启动
- Liferay7 BPM门户开发之26: 集成Activiti到Liferay7
- Liferay7 BPM门户开发之44: 集成Activiti展示流程列表
- Activiti学习笔记三-开发部署bpmn流程文件
- Liferay7 BPM门户开发之12:acitiviti和liferay用户权限体系集成
- Liferay7 BPM门户开发之2: BPMN 2.0 规范入门 (Activiti BPMN extensions)
- Liferay7 BPM门户开发之37: Liferay7下的OSGi Hook集成开发
- Liferay7 BPM门户开发之46: 集成Activiti用户、用户组、成员关系同步
- Liferay7 BPM门户开发之4: Activiti事件处理和监听Event handlers
- Activiti支持直接部署扩展名为bpmn的流程文件
- Liferay7 BPM门户开发之11: Activiti工作流程开发的一些统一规则和实现原理(完整版)
- Liferay7 BPM门户开发之7: Activiti中的重要概念和主要数据库结构
- 【实战篇】Activiti流程资源文件上传部署
- Liferay7 BPM门户开发之28: Portlet文件上传,及实体类同步更新上传
- Activiti支持直接部署扩展名为bpmn的流程文件
- Activiti学习笔记四-开发部署zip格式的流程文件
- Liferay7 BPM门户开发之8: Activiti实用问题集合
- Java开发流程自动化(svn+maven+nexus+jenkins) --自动编译,持续集成,测试,打包,发布/部署
- javaWeb开发中关于eclipse等ide重新部署或重启项目等原因造成上传文件丢失问题解决方案
- Liferay7 BPM门户开发之9: 流程表单数据动态映射体系