2012-02-29 14 views
0

私はJavaEEを初めて使用し、複数のメソッドを持つサーブレットに関するクエリを持っています。単一のサーブレットを使用した複数のメソッド呼び出し

JSPの "Submit"ボタンをクリックすると、サーブレット上で特定のメソッドを呼び出す方法を知りたいですか?

誰かがHTML hidden fieldsを使用することを提案しましたが、私はJspでそれらを実装する方法について考えていません。

答えて

4

を行うことができますあなただけの送信ボタンに特定の名前を付けることができます。

<input type="submit" name="action1" value="Invoke action 1" /> 
<input type="submit" name="action2" value="Invoke action 2" /> 
<input type="submit" name="action3" value="Invoke action 3" /> 

押されたボタンの名前と値のペアは、通常の方法でリクエストパラメータとして使用できます。

私たちは、3つのボタンを持つことが、ロジックの基礎最適なソリューションであるとパラメータ方法が求められ、
私はこれが渡されたパラメータに基づいて正確な溶液 -

ことができると信じてと思ういけない

if (request.getParameter("action1") != null) { 
    // Invoke action 1. 
} 
else if (request.getParameter("action2") != null) { 
    // Invoke action 2. 
} 
else if (request.getParameter("action3") != null) { 
    // Invoke action 3. 
} 
1

どのメソッドを呼び出すかによって異なります。ちょうどフォームを使用し、doPostについてURL

http://localhost:8080/myservlet?name=value 

を使用し、doGetについては

web.xmlでサーブレットに対して宣言URLパターンが/myservlet*であると仮定すると。 JSPで

<form action="/myservlet" method="post"> 
    <input type="text" value="value" name="name" /> 
</form> 
2

隠しフィールドはHTMLの場合と同じである:

<input type="hidden" name="name" value="value"> 

は、その後、あなたのサーブレットであなたは

if (request.getParameter("name").equals("value")) { /* do something */ } 
0

javascript-
を介して異なるアクションにアクセスする2つのメソッドを持つことができます。1)ユーザーから値を取得し、javascriptでチェックします。
2)ユーザから値を取得し、JavaScriptでチェックし、それに応じて値を隠し変数に割り当て、サーブレットを呼び出して、それらの隠し値を使用します.iはmethod1を精緻化しました。

<html> 
<head> 
    <script type="text/javascript"> 
    function nawab() { 
    param = document.getElementById('param1').value; 
    alert('in nawab'); 
    if (param != "") { 
    if (param === 'abc') { 
      alert('abc'); 
      document.forms[0].action = "nawabServlet"; 
      document.forms[0].submit(); 
    } 
    if (param === 'def') { 
    alert('def'); 
    document.forms[0].action = "nawabServlet2"; 
    document.forms[0].submit(); 
    }   
}   
else{ 
     alert('empty'); 
     document.forms[0].action = "nawabServlet"; 
     document.forms[0].submit(); 
    } 
} 
</script> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>nawab has come</title> 
</head> 
<body> 
    <form> 
     param1:<input type="text" name="param1" id="param1"></select> 
     <input type="submit" onclick="nawab()"> 
    </form> 
    </body> 
</html> 
関連する問題