2013-02-24 21 views
7

私はlogin.jspregister.jspというJSPを学習していました。登録ページのフォームが提出されたら、私はRegisterUser.java (SERVLET)にすべての値を提出しており、後でDBに書き込むことでドーピングを取得しています。今度はlogin.jspの別のフォームを同じサーブレットRegisterUser.java (SERVLET)に提出する必要があります。サーブレットに複数のdopostを作成する方法サーブレットの識別方法を作成した場合。私に詳細を教えてください。前もって感謝します。複数のフォームを同じサーブレットに送信する

+0

を短縮するStringswitchを持つことができます。同じ 'サーブレット 'に変更を加えることなく、何回でもフォームをPOSTすることができます。 – kaysush

+0

次に、サーブレットがどのフォームからどのフォームを送信するかを特定する方法。 2つの形式で私はtxtbox ritと同じ名前をつけることができますか? –

答えて

11

サーブレットは、doPostメソッドを1つしか使用できません。今、どのフォームが提出されているのかを知ることができます。同じ名前の異なるフィールドに別のフォームで異なる値を設定することができます。この値を使用して計算できる方法はdoPostです。では、実際

String hiddenParam=request.getParameter("Parameter-Name") 
if(hiddenParam.equals("value1"){ 
//form 1 was posted 
}else if(hiddenParam.equals("value2"){ 
    //form 2 was posted 
} 

あなたがJava 7を使用している場合は、私はあなたがPOST`メソッド `について少し混乱していると思うのコード

switch(hiddenParam){ 
    case "value1": 
    //form 1 was posted 
    break; 
    case "value2": 
    //form 2 was posted 
    break; 
} 
+0

スーパーニース!!! –

+4

喜んで:)。 – kaysush

4
create a field 
in login form 
<input type="hidden" name="pageName" values="login"/> 
in register form 
<input type="hidden" name="pageName" values="register"/> 

now in your servlet dopost method 
check 
if(request.getParameter("pageName").equals("login")) 
{ 
// do login code here 
} 
if(request.getParameter("pageName").equals("register")) 
{ 
// do register code here 
} 
+0

+1ありがとうございます。それはうまくいきますが、私はSuusuさんの答えを投稿した方法が大好きです。 –

+0

:) :) :)実際には、フォーム名のパラメータを渡すのと同じアプローチですが、私の喜びがあれば –

関連する問題