0

たとえば、JSPページには多くの送信ボタンがあります

<input type="submit" name="RemoveCustomer" value="Submit"/>
<input type="submit" name="AddCustomer" value="Submit"/>

スクリプトレットタグ内に次のようなものがあります

if(request.getParameter("addByName") != null && request.getParameter("addByName").length() > 0) {
  ...
} else {
  if(request.getParameter("removeByName") != null && request.getParameter("removeByName").length() > 0) {
    ...
  } else {
    ...
  }

}

addByNameとremoveByNameはHTMLTextFieldsです。

明らかに、RemoveCustomerボタンをクリックしてremoveByNameにアクセスし、何かを実行できますが、addByName TextFieldが空でない場合は、顧客が追加されます。

スクリプトレットで知りたいのは、どの送信ボタンが押されたかを知る方法です。

4

2 に答える 2

2

<div>何が起こったかを明確にする class または id でセクションを入れることができます。

あなたの JSP には適切なリファクタリングが必要なように思えます。同意する場合は、次の 2 つの提案があります。

  1. すべてのスクリプトレット コードを削除し、JSTL のみを使用します。JSP は表示専用です。ページからすべてのロジックを移動します。
  2. ロジックは実際にはサーバー側のコントローラーに属します。すべての着信トラフィックを受け入れ、さまざまなユースケースを処理するために特別に作成されたクラスにリクエストを委任する Front View Controller サーブレットを用意します。
  3. アプリが Spring や Wicket などの MVC フレームワークの恩恵を受けるところまで成長している可能性があります。検討することをお勧めします。
于 2011-01-12T11:52:15.887 に答える
1

request.getParameter("送信ボタンの名前") を実行できます。ここでの送信ボタンの名前は、RemoveCustomer または AddCustomer です。

于 2011-01-12T11:55:01.937 に答える