QA@IT

Seasar2 にて、ファイルのアップロードを行う際にパラメータを渡したいのですが。

4007 PV

Sasar2 を使用して、ファイルのアップロードをする際に、パラメータを渡したいのですが
方法がわかりません。

いろいろ調べてみたところ、
http://blog.livedoor.jp/kagamihoge/archives/50409193.html

にあるように、なにやら困難があるようです。

やりたいことは、画像ファイルをアップロードするときに、ちょっとしたメモをつけたり
したいと考えたからです。

別々に送信して、サーバ側で処理しようとも考えましが、
結局、サーバ側でも別々のデータ(メモとファイル)を紐付けるための
ID のようなものを使う必要があると思います。

<s:form enctype="multipart/form-data" target="file" >
<input name="memo" type="text" value=""></input>
<input type="file" name="formFile" /><br />
<input type="submit" name="upload" value="UP" onclick="javascript:alert();" />
</s:form>

として、JSP側からActionを呼び出した場合、
1) 以下の場合、ActionForm は値が格納されますが、FormFile が空なのでファイルが取得できません。

@ActionForm
@Resource
public FileForm fileForm;

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

2)ActionForm を除去して、リクエストから直接パラメータを取得しようとして、
以下のようにすると、ファイルは取得できますが、requestからパラメータが取得できません。

    @Resource
    public HttpServletRequest request;


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

    @Binding(bindingType = BindingType.NONE)
    public FormFile[] formFiles;

なにかよい方法は無いでしょうか?

  • ml.seasar.org の archive を読めば解決する。 -
ウォッチ

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