Загрузить файл в Stripes, как использовать DefaultMultipartWrapperFactory - PullRequest
3 голосов
/ 16 апреля 2011

Я пытаюсь разработать небольшой проект 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)

Я понимаю, что мне нужно использовать метод wrap () класса DefaultMultipartWrapperFactory, но как?Я изо всех сил пытаюсь найти документацию, которая объясняет это, но безрезультатно, любой совет?

Ответы [ 2 ]

4 голосов
/ 16 апреля 2011

Похоже, вы просто пропали без вести Commons FileUpload . Попробуйте добавить его в ваш classpath и посмотрите, работает ли он.

0 голосов
/ 17 июля 2014

У меня была такая же проблема. Исправлено добавлением параметра init в полосах Filters.

<init-param>
  <param-name>MultipartWrapper.Class</param-name>
  <param-value>net.sourceforge.stripes.controller.multipart.CommonsMultipartWrapper</param-value>
</init-param>
...