Tôi đã học JSP nơi tôi đã tạo một số login.jsp
và register.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
Trả lời
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;
}
Siêu đẹp của nó !!! –
Rất vui được trợ giúp :). – kaysush
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
}
+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. –
:) :) :), 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 –
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
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? –