struts2导入excel

在使用Struts2进行文件上传,特别是导入Excel时,遇到找不到'struts.multipart.saveDir'配置的问题。解决方案包括在struts.xml中添加常量配置指定保存路径,或者在struts.properties文件中设定临时文件上传目录为/tmp。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

html:
<form  name="deleteUserForm" method="post" enctype="multipart/form-data">
    <input name="uploadFile" type="file"/>
</form>
<button id="upload">上传</button>
$().ready(function(){
  $("#upload")
     .button()
     .click(function(){
          deleteUserForm.action = "uploadFile.action";
          deleteUserForm.submit(); 
          }
  );
});
Sturts.xml:

<action name="uploadFile" class="userAction" method="uploadFile">
      <result name="success" type="redirect">userList.action</result>
</action>
UserAction:

上传文件的file  name="uploadFile",那么文件名一定为 uploadFileFileName,也就是后面加上"FileName", 他代表的是上传文件的名字

private File uploadFile;
private String uploadFileFileName;
//get set
public String uploadFile(){
        String directory = "/upload";  
        String targetDirectory = ServletActionContext.getServletContext().getRealPath(directory);  
        //生成上传的文件对象  
        File target = new File(targetDirectory,uploadFileFileName);  
        //如果文件已经存在,则删除原有文件  
        if(target.exists()){  
            target.delete();  
        }  
        //复制file对象,实现上传  
        try {  
            FileUtils.copyFile(uploadFile, target);  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
        
        return "SUCCESS";
    }

在测试过程中,出现如下info信息:

Unable to find 'struts.multipart.saveDir' property setting. Defaulting to javax.servlet.context.tempdir

两个解决办法:

1.struts.xml配置文件中增加如下:

<constant name="struts.multipart.saveDir" value="/tmp"/>

设置临时文件上传路径。

2.在struts.properties文件加入如下代码:

struts.multipart.saveDir = /tmp




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值