重定向到另一个jsp页面

时间:2017-10-04 14:15:57

标签: ajax jsp spring-mvc

我正在尝试将控件重定向到下一个jsp页面。如果布尔值为true,则重定向到成功jsp页面,否则重定向到登录页面。

@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;
}

这是我的Ajax电话。

 $(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 ");
                }        
                }); 
      });
    });

控制不会成功阻止。仅显示错误警报。

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";
    }
}

我尝试过使用这种方法。仍然是它的输入错误块。

2 个答案:

答案 0 :(得分:0)

在成功回调中添加window.location.href = 'YOUR_REDIRECT_URL'

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

答案 1 :(得分:0)

如果是ajax电话,则您无法在返回网址中使用redirect:。在您的控制器上,返回"http://example.domain.com/success"。然后在您的成功处理程序中使用window.location.href = 'redirect_url'