java - 使用 spring mvc 3 将一个 Controller 重定向到另一个 Controller

标签 java spring-mvc

下面是我的 Controller

  @RequestMapping(method = RequestMethod.GET)
@ResponseBody
public String ABC(Registratio registration, ModelMap modelMap,
        HttpServletRequest request,HttpServletResponse response){
        if(somecondition=="false"){
           return "notok";  // here iam returning only the string 
          }
          else{
               // here i want to redirect to another controller shown below
           }
}

 @RequestMapping(value="/checkPage",method = RequestMethod.GET,)
public String XYZ(ModelMap modelMap,
        HttpServletRequest request,HttpServletResponse response){
       return "check";   // this will return check.jsp page
}

因为 Controller ABC 是 @ResponceBody 类型,所以它总是以字符串形式返回,但我希望在其他情况下它应该被重定向到 XYZ Controller 并从中它返回一个我可以显示的 jsp 页面。 我尝试使用 return "forward:checkPage"; 也尝试使用 return "redirect:checkPage"; 但不起作用。 任何帮助。

谢谢。

最佳答案

我认为如果你想自己渲染响应或基于某种条件在一个 Controller 方法中重定向,你必须删除@ResponseBody,试试这个:

@RequestMapping(method = RequestMethod.GET)
//remove @ResponseBody
public String ABC(Registratio registration, ModelMap modelMap,
    HttpServletRequest request,HttpServletResponse response){
    if(somecondition=="false"){
        // here i am returning only the string 
        // in this case, render response yourself and just return null 
        response.getWriter().write("notok");
        return null;
    }else{
        // redirect
        return "redirect:checkPage";
    }
}

--编辑--

如果你想通过 ajax 访问 Controller ,你最好在你的请求中包含数据类型参数,以表明你只是期待一个文本响应:

$.get("/AAA-Web/abc",jQuery.param({})
    ,function(data){ 
        alert(data); 
    }, "text"); 

关于java - 使用 spring mvc 3 将一个 Controller 重定向到另一个 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18096053/

相关文章:

java - 如何从扩展回调抽象类

java - Protobuf android : Migration to AndroidX : cannot find symbol class EnumVerifier

mysql - Spring 应用程序启动验证具有错误数据库表的实体

java - POST 时不清除表单内容

java - Spring Data 中的服务层

java - Spring Formatting SPI 是否需要使用 JSP 标签或什么?

Java 使用 JakartaFtpWrapper 上传 jpg - 使文件不可读

java - Glide 和 GPUImageView 问题

javascript - Spring MVC - RequestParamException 参数不存在

java - 国际化 : Umlaut not being displayed correctly in JSP