Nauczyłem się JSP, gdzie utworzyłem login.jsp
i register.jsp
. Po przesłaniu formularza na stronie rejestracji przesyłam wszystkie wartości w RegisterUser.java (SERVLET)
i przechodzę przez dopost później pisząc do DB. Teraz muszę przesłać inny formularz w login.jsp
do tego samego servleta RegisterUser.java (SERVLET)
. Jak utworzyć wiele dopost
w serwletu. Jeśli utworzono sposób identyfikacji serwletu. Proszę podać szczegółowe wyjaśnienie. Z góry dziękuję.Przesyłanie dwóch lub więcej formularzy do tego samego serwletu w JSP
Odpowiedz
Wygląd apletu może mieć tylko jedną metodę: doPost
. Teraz musisz się dowiedzieć, który formularz został przesłany. Możesz mieć ukryte pole o tej samej nazwie, ale różne wartości w różnych formach iw metodzie doPost
możesz dowiedzieć się, używając tej wartości.
String hiddenParam=request.getParameter("Parameter-Name")
if(hiddenParam.equals("value1"){
//form 1 was posted
}else if(hiddenParam.equals("value2"){
//form 2 was posted
}
W-rzeczywistości, jeśli używasz Java 7
można mieć switch
o String
skrócić aż kod
switch(hiddenParam){
case "value1":
//form 1 was posted
break;
case "value2":
//form 2 was posted
break;
}
Super jego Nice !!! –
Chętnie pomogę :). – 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 Dziękuję za twój wysiłek. Chociaż działa dobrze, uwielbiam sposób, w jaki Mr.SuKu opublikował odpowiedź. –
:) :) :), faktycznie jest to samo podejście do przekazania parametru z nazwą formularza, Moja przyjemność, jeśli pomaga –
myślę, że jesteś trochę zmieszany o 'metody POST'. Możesz mieć dowolną liczbę formularzy 'POST'ing w tym samym' servlet' bez żadnych zmian. – kaysush
Następnie, w jaki sposób serwlet zidentyfikuje plik, z którego formularza przesyłam. W dwóch formach mogę mieć taką samą nazwę dla rytmu txtbox? –