2012-02-29 3 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" /> 

눌려진 버튼의 이름 - 값 쌍은 일반적인 방법으로 요청 매개 변수로 사용할 수 있습니다.

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

은 내가,
내가이 전달 된 매개 변수를 기초로 정확한 솔루션 -

이 될 수 있다고 생각 물었다 논리 및 매개 변수 방법에 대한 최선의 해결책, 기초 3 개 버튼을 갖는 것 같아요, 우리 두 가지 방법으로 javascript-
을 통해 다른 작업에 액세스 할 수 있습니다. 1) 사용자로부터 값을 가져 와서 자바 스크립트에서 확인하십시오.
2) 사용자로부터 값을 얻고, 자바 스크립트에서 값을 확인하고, 숨김 변수에 값을 할당하고, 서블릿을 호출하고 숨겨진 값을 사용합니다 .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>