我正在尝试开发一个允许用户加载文件的小型 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"/>
该应用程序似乎部署正确,该应用程序启动没有问题,但只要我点击上传我得到以下异常:
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() 方法,但是如何使用呢?我正在努力寻找可以解释但没有结果的文档,有什么建议吗?