2017-10-04 4 views
0

Ich versuche, Steuerelement auf nächste JSP-Seite umzuleiten. Wenn der boolesche Wert wahr ist, umleiten Sie ihn zum Erfolg jsp page else Weiterleitung zur Anmeldeseite.umleiten zu einer anderen JSP-Seite

@RequestMapping(value = "/validate", method = RequestMethod.POST) 
@ResponseBody 
public ModelAndView(HttpServletRequest request, HttpServletResponse response, Model model) { 
    String userName = request.getParameter("userName"); 
    String password = request.getParameter("password"); 
    boolean validuser=employeeService.checkLogin(userName,password); 
    if(validuser == true) 
    { 
     model.setViewName("success"); 
     return model; 
    } 
    model.setViewName("login"); 
    return model; 
} 

Das ist mein Ajax Anruf.

$(document).ready(function() { 
     $("form").submit(function() { 
     var userName=$("#inputEmail").val(); 
     var password=$("#inputPassword").val(); 
      $.ajax({ 
       type : "post", 
       url : "${pageContext.request.contextPath}/validate", 
       data : {userName:userName, password:password}, 
       success:function(data){ 
        alert(data);   
       }, 
       error:function() 
       { 
        alert("Error "); 
       }   
       }); 
     }); 
    }); 

Die Steuerung wird nicht zum Erfolg blockieren. Nur die Fehlermeldung wird angezeigt.

public String validate(HttpServletRequest request, HttpServletResponse response, Model model) { 
    String userName = request.getParameter("userName"); 
    String password = request.getParameter("password"); 
    boolean validuser=employeeService.checkLogin(userName,password); 

    if(validuser == true) 
    { 
     return "redirect:/success"; 
    } 
    else{ 
    return "redirect:/login"; 
    } 
} 

Ich habe es mit diesem Ansatz versucht. Immer noch sein Eintrittsfehlerblock.

+0

** Rückkehr Modell; **: Sie senden nie eine Antwort auf diese Weise an die Ajax Call – gaetanoM

+0

Können Sie mir bitte sagen, die richtige Art der Rückkehr. – abc

+0

Werfen Sie einen Blick auf [Wie Servlets und Ajax zu verwenden?] (Https://stackoverflow.com/questions/4112686/how-to-use-servlets-and-ajax) – gaetanoM

Antwort

0

Fügen Sie window.location.href = 'YOUR_REDIRECT_URL' in Ihrem Erfolgsrückruf hinzu.

success:function(data){ 
    alert(data); 
    window.location.href = 'YOUR_REDIRECT_URL'; // redirect  
}, 
+0

Steuerelement wird nicht erfolgreich Code Block eingeben. – abc

0

Wenn es ein Ajax-Aufruf ist, können Sie nicht die redirect: in der Rückkehr-URL verwenden. Geben Sie auf Ihrem Controller "http://example.domain.com/success" zurück. Dann in Ihrem Erfolgshandler verwenden window.location.href = 'redirect_url'

Verwandte Themen