- - PR -
formに複数のsubmitボタンを実装したい場合どうしてますか?
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-01-12 18:37
Webアプリケーションを開発するに当り、1つのフォームに複数のsubmitを取り付けたい(処理内容振り分けたい)事ってありますよね。
常日頃から思っている事なのですが、皆さんはどの様な方法を使われていますか? 私が今までに使用した方法にはどれも皆1つ以上の問題があるため、毎回この様な状況になるたびに頭を悩ませております。 私が使用した事のある方法としては 1.JavaScriptによってaction属性を書き換える → JavaScriptを使用するためクライアント環境に依存してしまう。 2.formを別にする → submitされたform以外の内容が消えてしまう。 3.submitボタンのname属性をユニークにし、そのnameでパラメータを取得出来るか否か(value属性は大抵日本語表記なので値は評価せず、パラメータがnullか否か)で判断 → action属性は同一なので、異なるサーブレットは呼び出せない。 上記の3つ程度です。 1と2に関してはシステムの要件によっては使用出来ない事があるため、主に3の方法を使っています。StrutsのMappingDispatchActionと考え方は同じかと思います。 皆様は普段どのような方法で開発されているかお聞きしたいです。宜しくお願いいたします。 |
|
投稿日時: 2006-01-13 09:56
以前は、イントラの業務アプリケーションの場合、「JavaScriptが有効であること」
というのを稼働条件に入れておいて、1. の方法を使うことが多かったですね。 action属性を書き換えるより、<input type="hidden"> に、JavaScript で 実行モードフラグのようなものをセットして、Servlet側で処理を振り分ける という方法でしたが。 Struts の場合は、SUK2さんの言われるように、MappingDispatchAction ですね。 最近は、S2JSF 使ってるので、そういうことは意識する必要がなくなり、 助かっています。 |
|
投稿日時: 2006-01-13 22:46
ご返答有難うございます。
やはり同じような方法を取らざるをえないみたいですね。 S2JSFは以前からかなり気になっていたのですが、評価もかなり高い様なので、これを機会に勉強してみようと思います。 有難うございました。 |
1