File upload 在条纹中上载文件,如何使用DefaultMultipartWrapperFactory

File upload 在条纹中上载文件,如何使用DefaultMultipartWrapperFactory,file-upload,nullpointerexception,stripes,File Upload,Nullpointerexception,Stripes,我正在尝试开发一个小型Stripes项目,允许用户加载文件,ActionBean的基本实现如下所示: public class UploadActionBean extends BaseActionBean{ private FileBean fileBean; private final String fileUpload="/WEB-INF/jsp/file-upload.jsp"; public void setFileBean(FileBean fileBean){ th

我正在尝试开发一个小型Stripes项目,允许用户加载文件,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"/>
从nullPointerException到达的:

at net.sourceforge.stripes.controller.multipart.DefaultMultipartWrapperFactory.wrap(DefaultMultipartWrapperFactory.java:151)
我知道我必须使用DefaultMultipartWrapperFactory类的wrap()方法,但是如何使用呢?
我正在努力寻找一份文档来解释这一点,但没有结果,有什么建议吗?

看起来你只是错过了。尝试将其添加到类路径中,看看是否有效。

我也遇到了同样的问题。 通过在条纹过滤器中添加init param得到解决


MultipartWrapper.Class
net.sourceforge.stripes.controller.multipart.CommonsMultipartWrapper

Hi Lucas thx,谢谢您的宝贵建议!我确实需要它加上commons io,action bean现在在:fileBean.save(新文件(“/Users/myname/Desktop”))中抛出一个FileNotFoundException,因为它是一个目录,而不是一个文件,但我认为File类也可以使用这个构造函数将文件写入给定的路径名:public File(String pathname),因此,基本上我假设构造函数在已经存在的文件上编写文件,这可以通过文本完成,但上传图片时如何?关闭-您可以向fileBean请求传入的文件名(fileBean.getFileName())并将其附加到您的目录中。。新的java.io.File(“/foo/bar/”+fileBean.getFileName())同样关于已经存在的文件,您可以先构造它,然后使用java.io.File.exists(),如果没有,请将save()callhi@useruser1929841,thx作为回复,但我已经删除了不再支持的条纹。不是真的。只是静静地工作。有一个v1.7版本。在许多核心功能中添加了异步支持。IRC频道也处于活动状态。
at net.sourceforge.stripes.controller.multipart.DefaultMultipartWrapperFactory.wrap(DefaultMultipartWrapperFactory.java:151)