客户出完账之后需要把出账的数据以文本文件的方式传送给收入管理系统,客户以前是通过本地的一个工具软件上传的,由于安全监管的原因,不允许在本地使用工具上传,因此客户希望我们在已经上线使用的系统开发一个功能实现他们的需求。
我梳理一下具体的细节,具体的流程如图所示:
<强>一,首先是设计页面强>
由于是在原系统的基础上新增功能,需要提前做好菜单的配置工作。我设计的页面如下图,一个是下拉选择框(用户选择相对应的业务),一个是选择文件,一个是月份(表示需要传送的文件是哪个月),一个是上传按钮,用户选择文件之后选择月份点击上传按钮之后即可触发上传操作。
以下是JSP界面的源码:
% @ & lt;包含文件="/共同/taglibs.jsp”%比; % @ & lt;页面语言=癹ava”pageEncoding=皍tf - 8”%比; % @ & lt;页面isELIgnored=" false " %比; & lt;销售:形式enctype=岸嗖糠?格式”方法=皃ost”比; & lt;页面:applyDecorator name=皊impleQuery”比; 边境& lt;表格单元格间距=" 1 "=" 0 "比; & lt; title> & lt;销售:文本name=" erp接口上传小程序”/祝辞& lt;/title> & lt;销售:隐藏名字="文件名"祝辞& lt;/s: hidden> & lt; tr> & lt; td>业务类型 & lt;选择id=" name=癘perationType”class=癴ormselect”比; & lt; option> & lt;/option> & lt;选项值=" https://www.yisu.com/zixun/1 "祝辞集团预出账& lt;/option> & lt;选项值=" https://www.yisu.com/zixun/2 "祝辞集团正式出账& lt;/option> & lt;/select> & lt;/td> & lt; td>接口月份: & lt;如:datepicker id=" startDate可以" name=皉pmonth“readonly=禁用“false”=癴alse” formatFlag=" date6 " showDefault=" true " cssClass=皉equired”validate-datetime比;& lt;/: datepicker> & lt;/td> & lt;/tr> & lt; tr> & lt; td宽度=?0%”的在选择文件 & lt;销售:文件id="上传" name="上传"祝辞& lt;/s: file> & lt;/td> & lt; td比; ,, & lt;/td> & lt; td比; & lt;输入id=" impbut " type="按钮" value=" https://www.yisu.com/zixun/上传”类=鞍磁ァ?比; & lt;/td> & lt;/tr> & lt;/table> & lt;/页面:applyDecorator> & lt;/s: form> & lt;脚本type=" text/javascript祝辞 函数importHandle () { var文件名=$ value(“上传”); 如果(文件名==null | |==定义文件名| |文件名==" "){ validation.userDefined(“请选择要上传的文件”); 返回; } 文件名=fileName.split (“。”); 如果(文件名(文件名。长度- 1]=="三" | |文件名(文件名。长度- 1)==叭帧?{ document.forms [0]。action=癷nterfaceupload_UPLOAD_interfaceupload.do”; document.forms [0]。submit (); 其他}{ validation.userDefined(“文件格式错误,您上传的格式不被允许”); 返回; } } & lt;/script>
<强>二,点击上传按钮之后的函数为:importHandle(),提交的请求为interfaceupload_UPLOAD_interfaceupload.do 强>
& lt;输入id=" impbut " type="按钮" value=" https://www.yisu.com/zixun/上传”类=鞍磁ァ?祝辞
系统是由struts2实现的,因此要在配置中加入这一段请求相对应的行动的配置
& lt; !——erp接口文件上传——比; & lt;动作名称=" interfaceupload_UPLOAD_interfaceupload " 类=癮icu.application.mps.voice.international.web.revenue.FileImportAction”比; & lt;结果名称=俺晒Α痹?web - inf/jsp/收入/interfaceupload.jsp & lt;参数name=" uploadServiceId祝辞interfaceupload & lt;/action>>之前<强>三,做好了相对应的准备工作,继续来写接下来的业务逻辑。强>
编写aicu.application.mps.voice.international.web.revenue.FileImportAction类
包aicu.application.mps.voice.international.web.revenue; 进口aicu.application.mps.voice.international.web.revenue.FileUploadAction; 公开课FileImportAction延伸FileUploadAction { 公共字符串execute()抛出异常{ System.out.println (“hello”); smartUpload (); 返回成功; } }Java对文本文件MD5加密并ftp传送到远程主机目录的实现方法