Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用params向前跳_Java_Spring Mvc - Fatal编程技术网

Java 用params向前跳

Java 用params向前跳,java,spring-mvc,Java,Spring Mvc,我正在尝试将请求转发给另一个控制器。 它似乎前进正确,但另一个控制器没有获得我指定的参数。 这是我的密码: @RequestMapping(value = "/register", method = RequestMethod.POST) public String registerUser(@RequestParam("name") String name, @RequestParam("email") String email,

我正在尝试将请求转发给另一个控制器。 它似乎前进正确,但另一个控制器没有获得我指定的参数。 这是我的密码:

@RequestMapping(value = "/register", method = RequestMethod.POST)
public String registerUser(@RequestParam("name") String name,
                           @RequestParam("email") String email,
                           @RequestParam("pswd") String password,
                           HttpServletRequest request) throws IOException {
    try {
        manager.getTransaction().begin();
        User user = new User();
        user.setName(name);
        user.setEmail(email);
        user.setPassword(password);
        manager.persist(user);
        manager.getTransaction().commit();
    } catch (Exception e) {
        manager.getTransaction().rollback();
        request.setAttribute("errorMessage", e.getMessage());
        return "forward:/error";
    }
    request.setAttribute("email", email);
    return "forward:/main";
}
另一个控制器:

@RequestMapping("/error")
public ModelAndView throwError(@RequestParam (value = "errorMessage") String errorMessage) {
    return new ModelAndView("error", "errorMessage", errorMessage);
}
我得到的错误是(在浏览器中):


所以问题是为什么请求不包含
errorMessage
属性?怎么了?

您是否尝试将method设置为RequestMethod.POST,甚至在/error controller上?是否应该返回“forward:/error?errorMessage=“+e.getMessage()”;安德里亚·吉拉迪,是的,我试过了——仍然不起作用。欧比·万·帕拉夫贾,我也试过——不起作用work@ObiWan-PallavJha解决方案似乎奏效了:
HTTP Status 400 - Required String parameter 'errorMessage' is not present