QA@IT

SAStrutsでActionにFormFile型のフィールドを定義するとIllegalPropertyRuntimeException

9753 PV

以下のURLで「ファイルアップロード」のサンプルを試してみようかと思ったのですが、うまくいかないので質問します。
http://sastruts.seasar.org/tutorial.html

Actionに以下のようなソースを記述しました。

package jp.or.sample.action;

import org.apache.struts.upload.FormFile;
import org.seasar.framework.container.annotation.tiger.Binding;
import org.seasar.framework.container.annotation.tiger.BindingType;
import org.seasar.struts.annotation.Execute;
import org.seasar.struts.annotation.Required;

public class FileAction {

    @Required
    @Binding(bindingType = BindingType.NONE)
    public FormFile formFile;

    @Execute(validator = false)
    public String index(){
        return "/index.jsp";
    }
}

これに対して、jspの方は、以下のようなソースです。

<s:form action="file">
  <html:file property="formFile"></html:file>
  <s:submit>file</s:submit>
</s:form>

この2つのソースから、formFile関連を取り除くと、ちゃんと画面遷移するのです。

どうしてformFileを入れると例外になるのでしょうか?
サンプル通りに動かすにはどうしたら良いのでしょうか?

  • バッチを当ててくれた方、ありがとうございました。
    変な書き方だったようです。ごめんなさい。
    ありがとうございました。
    -

回答

自己解決しました…
単にformに「 enctype="multipart/form-data"」を加えるだけで済みました…。

サンプルを改変していた自分のミスだったようです。
すみません。

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。