代码规则:
1、保证action为很薄的一层,接收数据、传递数据,根据service的结果对前端进行结果反馈;
2、service层,能处理的异常进行处理,处理不了的不进行try cathch,直接往上层抛出,通过日志记录异常信息;
1、页面效果如下图所示:
2、jsp代码如下所示:
<div class="easyui-panel" title="信息" style="width:400px"> <div style="padding:10px 0 10px 60px"> <form id="uploadForm" method="post" enctype="multipart/form-data" action="demoAction!upload.action"> <table> <tr> <td>文件路径</td> <td><input name="filedata" class="easyui-validatebox" required="true" type="file" missingMessage="请选择上传文件" /></td> </tr> </table> </form> </div> <div style="text-align:center;padding:5px"> <a href="javascript:void(0)" class="easyui-linkbutton" onclick="submitForm()">提交</a> <a href="javascript:void(0)" class="easyui-linkbutton" onclick="clearForm()">重置</a> </div> </div>
3、js代码如下所示:
function submitForm(){ //提交Form var myForm = $('#uploadForm').form({ url : 'demoAction!upload.action', success : function(data) { var json = $.parseJSON(data); if (json && json.success) { window.parent.window.messageshow('成功',json.msg); } else { window.parent.window.messageshow('失败','操作失败!'); } } }); if($('#uploadForm').form('validate')){ myForm.submit(); } } function clearForm(){ $('#uploadForm')[0].reset(); }
4、action层实现如下:
// ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××× // ×××××××××××××××××××××××××××文件上传××××××××××××××××××××××× // ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××× //进入上传页面 public String uploadInput(){ return "upload-input"; } //-----------------------上传文件--------------------------- //浏览器传递过来的信息 private File filedata; public File getFiledata() { return filedata; } public void setFiledata(File filedata) { this.filedata = filedata; } //上传文件 public void upload(){ Json j = new Json(); try { demoService.upload(filedata); j.setSuccess(true); j.setMsg("文件上传成功!"); } catch (Exception e) { j.setMsg("文件上传失败!"); logger.error(ExceptionUtil.getExceptionMessage(e)); } writeJson(j); }
5、service层实现如下:
public void upload(File filedata) throws IOException { String destDir = "d:/upload"; MultiPartRequestWrapper mpRequest = (MultiPartRequestWrapper)ServletActionContext.getRequest(); File[] files = mpRequest.getFiles("filedata"); String[] fileNames = mpRequest.getFileNames("filedata"); for(int i=0;i<files.length;i++){ File destFile = new File(destDir+"/"+fileNames[i]); FileUtils.copyFile(files[i], destFile); } }
相关推荐
jeecg-framework-v2.0jeecg-framework-v2.0jeecg-framework-v2.0jeecg-framework-v2.0jeecg-framework-v2.0jeecg-framework-v2.0jeecg-framework-v2.0jeecg-framework-v2.0jeecg-framework-v2.0jeecg-framework-v2.0...
Jeecg-Boot是一款基于BPM的低代码平台,零代码开发!采用前后端分离架构: SpringBoot 2.x,Ant Design&Vue,Mybatis-plus,Shiro,JWT。强大的代码生成器让前后端代码一键生成,无需写任何代码!!帮助Java项目解决...
JEECG 权限开发手册V3.7
总结来说,Jeecg-Boot 2.0作为一个全面的Java开发框架,凭借其强大的功能集和易用性,成为了企业级应用开发的理想选择。通过集成Spring Boot、MyBatis Plus、Ant Design Vue等技术,它不仅简化了开发流程,还提供了...
JAVA编程有很多重复机械代码, 生成器可以帮助解决50%的重复工作,让开发更多关注业务逻辑, 从而实现代码生成+手工merge的半智能开发!JEECG智能框架可以有效解决信息孤岛问题,生成统一代码、统一规范、统一设计思路...
v3.3.1.beta版本的开发手册是针对该版本特性和功能的详细指南,帮助开发者更好地理解和使用JEECG的各项功能。 1. **JEECG Online Coding开发手册v3.3.pdf** 这份文档主要涵盖了JEECG的在线编码功能,这是一个强大...
JEECG Boot Bpm流程在线开发操作能够手册,用于为学习jeecg boot的人提供一些参考资料来进行学习
JEECG 开发文档系列 ——JEECG Online表单开发指南v3.7
此插件集成文档是关于JEECG中的在线聊天功能,它允许用户在系统内部进行实时沟通,提高协作效率。通过集成此插件,开发者可以将聊天功能无缝地融入到JEECG框架的应用中。 首先,我们来了解一下`config.js`文件。在...
JEECG 开发文档系列 ——JEECG 单点登录集成文档(kisso集成)
jeecg_v3开发指南v3.3
Jeecg-Lib上传指的是Jeecg开源框架的库文件上传功能。Jeecg是一款基于代码生成器的Java快速开发平台,它集成了多种技术,包括Spring Boot、MyBatis Plus、Ant Design Vue前端框架等,旨在提升企业级应用的开发效率。...
Jeecg平台提供了用户权限管理功能,确保只有授权的用户才能进行代码上传,防止未经授权的访问和修改。 综上所述,Jeecg代码上传是Jeecg平台开发过程中不可或缺的一部分,涉及到了版本控制、协同开发、自动化部署等...
jeecg-framework-v3.1(精简版).zip升级日志jeecg-framework-v3.1(精简版).zip升级日志jeecg-framework-v3.1(精简版).zip升级日志jeecg-framework-v3.1(精简版).zip升级日志jeecg-framework-v3.1(精简版).zip升级日志...
JEECG BPM 单点登录说明文档(kisso集成),已经在项目中使用。
JEECG 开发指南v3.6,JEECG 权威开发指南,JEECG 开发指南
Jeecg 开发文档系列 ——————Jeecg _v3.7表结构说明
通过提供一系列预设的代码生成器和丰富的组件库,Jeecg 可以帮助开发者快速实现业务逻辑,减少重复劳动,专注于业务创新。 ### 2. Maven 集成 Jeecg 3.8 版本采用Maven作为项目管理工具,使得依赖管理和构建过程...
9. **插件机制**:JEECG有强大的插件扩展能力,可以通过插件实现更多的功能。学习如何开发和集成自定义插件。 10. **移动开发支持**:JEECG提供了移动端的支持,可以生成适应手机和平板的页面。了解如何进行移动...
在JEECG中,数据展示标签如`<jeecg:table>`用于创建数据表格,可以自动加载后台数据并实现分页、排序、过滤等功能。此外,还有`<jeecg:dialog>`用于弹窗显示,`<jeecg:tree>`用于构建树形结构,它们都可以方便地与...