3

ユーザーがファイルを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()メソッドを使用する必要があることを理解していますが、どうすればよいですか?私はそれを説明するドキュメントを見つけるのに苦労していますが、結果はありません、何かアドバイスはありますか?

4

2 に答える 2

4

CommonsFileUploadが欠落しているようです。クラスパスに追加して、機能するかどうかを確認してください。

于 2011-04-15T20:14:14.947 に答える
0

私も同じ問題を抱えていました。ストライプフィルターにinitparamを追加することで解決しました。

<init-param>
  <param-name>MultipartWrapper.Class</param-name>
  <param-value>net.sourceforge.stripes.controller.multipart.CommonsMultipartWrapper</param-value>
</init-param>
于 2014-07-17T12:00:57.757 に答える