【问题标题】:redirect to another jsp page重定向到另一个jsp页面
【发布时间】:2018-03-15 23:37:31
【问题描述】:

我正在尝试将控制重定向到下一个 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";
    }
}

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

【问题讨论】:

  • return model;:你永远不会以这种方式向 ajax 调用发回响应
  • 你能告诉我正确的返回方式吗?

标签: ajax jsp spring-mvc


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    如果是ajax调用,则不能在返回url中使用redirect:。在您的控制器上,返回 "http://example.domain.com/success"。然后在你的成功处理程序中使用window.location.href = 'redirect_url'

    【讨论】:

      猜你喜欢
      • 2014-06-24
      • 1970-01-01
      • 2013-09-05
      • 2014-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多