猿问

如何从springMVC中其他控制器的控制器发送参数?

在 post 方法中,我确实生成了一个对象并尝试将他发送到另一个控制器:


@PostMapping("/main")

    public ModelAndView makesQuery(

            @RequestParam String query

    ){

//   create new explorer if

        Explorer explorer = explorerService.createByQuery(query);


//   determine status of explorer

        StatusEnum q = StatusEnum.getEnum(explorer.getStatus().getStatusName());


        String http = q == StatusEnum.FINISHED ?

                "redirect:/show" : "redirect:/parsing";


        ModelAndView modelAndView = new ModelAndView(http);

        modelAndView.addObject("explorer", explorer);


        return modelAndView;

    }

在下一个方法中,我尝试获取对象资源管理器:


@GetMapping("/parsing")

public ModelAndView makesQuery(

        @ModelAttribute Explorer explorer

) {

    ModelAndView modelAndView = new ModelAndView("search");

    modelAndView.addObject("explorer", explorer);

    return modelAndView;

}

但有下一个错误:


解析模板“解析”时出错,模板可能不存在或可能无法被任何配置的模板解析器访问


当我将 Explorer 的注释从 @ModelAttribute 更改为 @RequestParam 时:


@GetMapping("/parsing")

public ModelAndView makesQuery(

        @RequestParam Explorer explorer

) {......

我在浏览器中确实有错误:


此应用程序没有明确的 /error 映射,因此您将其视为后备。


Wed Aug 15 14:15:52 EEST 2018 出现意外错误(类型=错误请求,状态=400)。所需的资源管理器参数“资源管理器”不存在


PS search.html 文件在正文中没有任何逻辑 - 只有字符串“test”。


慕哥9229398
浏览 132回答 1
1回答

回首忆惘然

您可以在会话中保存探索对象。HttpSession session = request.getSession(true); session.setAttribute("资源管理器", 资源管理器)并得到@GetMapping("/parsing") public ModelAndView makeQuery(HttpServletRequest request..) HttpSession session = request.getSession(); 探索 explore = session.getAttribute("exolorer")
随时随地看视频慕课网APP

相关分类

Java
我要回答