2011年01月05日

sastrutsでファイルのアップロード時の良く分からないこと

ファイルアップロードするときに、enctype="multipart/form-data"を指定するのだが、

これを指定してsubmitすると、404エラーになる。

filterまでは行っているが、S2RequestProcessorや、S2ExecuteConfigまでは行かない。

enctype="multipart/form-data"の指定をしなければちゃんと飛ぶ。

enctype="multipart/form-data"の指定をしていても、formでaction指定すると飛ぶ。

しかし、同じようなことをしていて問題なく動いている機能もある。

全然意味が分からない。

しかたないから、onclick="location.href=〜〜〜" で直接URL指定して飛ばしたり、

scriptでactionの指定をしたりしている。

すごく気に入らない。

なんでだろう。
posted by hana at 19:51| Comment(2) | TrackBack(0) | seasar関連 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント

こんにちわ。
ずいぶん前の投稿のようですので、もう不要な情報かもしれませんが、
同じ問題にハマって無駄な時間を過ごしたものとして、
他のどなたかの問題解決となればと思いコメントしておきたいと思います。

multipart/form-dataフォームの場合、SAStrutsはActionクラスにindexメソッドがないと、
想定した実行メソッドが呼び出されないようです。
ですので、nullをリターンする空のindex実行メソッドを用意しておけば大丈夫です。

他にも同様な問題で、サブミットボタンをbuttonタグなどにした場合に、
想定した実行メソッドが呼ばれないことがあるのですが、
これはbuttonタグにvalue値を設定しない場合に発生します。

もう何でしょ、自分への防備録的な…
Posted by ひろし at 2012年08月20日 20:02
ひろしさま

ありがとうございます!
おっしゃるとおり、indexメソッドが原因ということは、後日辿り着いました!

解決策として追記しておけば良かったですね^^;

しかし、おかげで有用なコメントいただけたと思います!

buttonのvalue値でも、似たような現象が発生するのは知りませんでした!

情報ありがとうございました!
Posted by hana at 2012年08月24日 16:36
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック