微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Stripes中上传文件,如何使用DefaultMultipartWrapperFactory

如何解决在Stripes中上传文件,如何使用DefaultMultipartWrapperFactory

|| 我正在尝试开发一个小的Stripes项目,允许用户uoload文件,ActionBean的基本实现如下所示:
public class UploadActionBean extends BaseActionBean{

private FileBean fileBean;

private final String fileUpload=\"/WEB-INF/jsp/file-upload.jsp\";

public void setFileBean(FileBean fileBean){

    this.fileBean=fileBean;
}

public FileBean getFileBean(){

    return this.fileBean;
}

@DefaultHandler
public Resolution goToFile(){

    return new ForwardResolution(fileUpload);
}

public Resolution upload() throws IOException{

    System.out.println(fileBean.getFileName());

    fileBean.getContentType();

    fileBean.getSize();

    fileBean.save(new File(\"/Users/enricoiorio/Desktop\"));

    return new ForwardResolution(fileUpload);
}
} 正如我所说的非常简单,jsp就是这样,也很简单:
 <s:form beanclass=\"stripesbook.action.UploadActionBean\" enctype=\"multipart-form/data\">

<s:file name=\"fileBean\"/>

<s:submit name=\"upload\" value=\"upload\"/>
该应用程序似乎已正确部署,该应用程序启动没有问题,但是,一旦我单击“上传”,就会出现以下异常:
net.sourceforge.stripes.exception.StripesRuntimeException: Could not construct a MultipartWrapper for the current request.
从nullPointerException到达:
at net.sourceforge.stripes.controller.multipart.DefaultMultipartWrapperFactory.wrap(DefaultMultipartWrapperFactory.java:151)
我知道我必须使用DefaultMultipartWrapperFactory类的wrap()方法,但是如何? 我正在努力寻找一个说明性的文档,但没有结果,有什么建议吗?     

解决方法

似乎您只是缺少Commons FileUpload。尝试将其添加到您的类路径中,看看是否可行。     ,我遇到了同样的问题。 通过在条纹过滤器中添加init参数来解决。
<init-param>
  <param-name>MultipartWrapper.Class</param-name>
  <param-value>net.sourceforge.stripes.controller.multipart.CommonsMultipartWrapper</param-value>
</init-param>
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。