2013-02-24 12 views
7

Tôi đã học JSP nơi tôi đã tạo một số login.jspregister.jsp. Một khi mẫu đơn trong trang đăng ký đã được gửi, tôi sẽ gửi tất cả các giá trị trong số RegisterUser.java (SERVLET) và nhận qua dopost sau đó bằng văn bản cho DB. Bây giờ tôi cần gửi một biểu mẫu khác trong số login.jsp tới cùng một servlet RegisterUser.java (SERVLET). Cách tạo nhiều dopost trong servlet. Nếu được tạo ra như thế nào servlet sẽ xác định. Xin vui lòng cho tôi lời giải thích chi tiết. Cảm ơn trước.Gửi hai hoặc nhiều biểu mẫu vào cùng một servlet iin JSP

+0

Tôi nghĩ rằng bạn là chút nhầm lẫn về 'phương pháp POST'. Bạn có thể có bất kỳ số lượng các biểu mẫu 'POST'ing trên cùng một' servlet' mà không có bất kỳ thay đổi nào. – kaysush

+0

Sau đó, servlet sẽ xác định tht từ biểu mẫu nào tôi gửi. Trong hai hình thức tôi có thể có cùng tên cho rit txtbox? –

Trả lời

11

Tìm một servlet chỉ có thể có một phương thức doPost. Giờ đây, bạn có thể tìm ra biểu mẫu nào được gửi. Bạn có thể có một trường ẩn với cùng tên nhưng các giá trị khác nhau trong các biểu mẫu khác nhau và trong phương thức doPost bạn có thể tìm ra bằng cách sử dụng giá trị này.

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

In-thực tế, nếu bạn đang sử dụng Java 7 bạn có thể có switch của String để rút ngắn lên mã

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

Siêu đẹp của nó !!! –

+4

Rất vui được trợ giúp :). – 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 Cảm ơn bạn đã nỗ lực. Mặc dù nó hoạt động tốt đẹp, tôi thích cách Mr.SuKu đăng câu trả lời. –

+0

:) :) :), thực sự cách tiếp cận tương tự của nó để vượt qua một tham số với tên biểu mẫu, niềm vui của tôi nếu nó giúp –