0

我是 Spring 新手,所以不知道如何做到这一点。我必须使用单控制器方法处理 2 个用例。

方法已经到位,所以我不能更改它的签名,因为它会破坏所有其他功能主义者,这里是方法签名

@RequestMapping(value = "/edit-address", method = RequestMethod.POST)
    public @ResponseBody JsonResponse editAddress()

JsonResponse是具有以下签名的自定义对象

private String status;
private Object result;
private String steps;

还有一个要求,我们需要从第三方验证此地址,并根据返回结果需要显示弹出窗口。如果方法签名不是自定义对象,我可以轻松显示弹出窗口,但现在不知道我该怎么做

有没有办法实现以下任何一个

  1. 使用此方法将 JSP 内容发送回视图以代替 JSON 对象。
  2. 在内部将控制转发到控制器中的另一个方法,该方法可以将视图发送回 UI
4

1 回答 1

0

在另一个控制器中组合这个控制器怎么样,你可以控制并将内部调用委托给这个控制器,这样:

@Controller
public class WrapperController{
    @Autowired JsonResponseController jsonResponseController;

    @RequestMapping("/custom_jspview")
    public String customRequestMapping(..., Model model){
        JsonResponse jsonResponse = this.jsonResponseController.editAddress();
        model.addAttribute("jsonresponse", "jsonResponse");
        return "myview";
    }

    @RequestMapping("/redirectView")
    public String redirectView(){
         return "redirect:/custom_jspview";
    }
}
于 2012-10-23T17:27:30.673 回答