Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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 验证后的弹簧复位_Java_Spring_Http_Redirect_Forward - Fatal编程技术网

Java 验证后的弹簧复位

Java 验证后的弹簧复位,java,spring,http,redirect,forward,Java,Spring,Http,Redirect,Forward,我有一个页面要添加用户“/user/userAdd”。在GET中,我填充了一个国家列表。在POST中,我从formsubmit验证用户对象。如果它有错误,我返回到错误消息相同的页面。我的问题是我只是简单地返回“/user/userAdd”;国家/地区列表未填充。如果我返回“重定向:/user/userAdd”;我正在丢失以前的用户输入。我该怎么处理 @RequestMapping(value = "/user/userAdd", method = RequestMethod.GET) publi

我有一个页面要添加用户“/user/userAdd”。在GET中,我填充了一个国家列表。在POST中,我从formsubmit验证用户对象。如果它有错误,我返回到错误消息相同的页面。我的问题是我只是简单地返回“/user/userAdd”;国家/地区列表未填充。如果我返回“重定向:/user/userAdd”;我正在丢失以前的用户输入。我该怎么处理

@RequestMapping(value = "/user/userAdd", method = RequestMethod.GET)
public void getUserAdd(Model aaModel) {
    aaModel.addAttribute("user", new User());

    List<Country> llistCountry = this.caService.findCountryAll();

    aaModel.addAttribute("countrys", llistCountry);
}

@RequestMapping(value = "/user/userAdd", method = RequestMethod.POST)
public String postUserAdd(@ModelAttribute("user") @Valid User user,
        BindingResult aaResult, SessionStatus aaStatus) {
    if (aaResult.hasErrors()) {

        return "/user/userAdd";
    } else {
        user = this.caService.saveUser(user);

        aaStatus.setComplete();
        return "redirect:/login";
    }
}
@RequestMapping(value=“/user/userAdd”,method=RequestMethod.GET)
public void getUserAdd(模型aaModel){
aaModel.addAttribute(“用户”,新用户());
List-llistCountry=this.caService.findCountryll();
aaModel.addAttribute(“国家”,即ListCountry);
}
@RequestMapping(value=“/user/userAdd”,method=RequestMethod.POST)
公共字符串positionrad(@modeldattribute(“user”)@有效用户,
BindingResult aaResult,SessionStatus aaStatus){
if(aaResult.hasErrors()){
返回“/user/userAdd”;
}否则{
user=this.caService.saveUser(用户);
aaStatus.setComplete();
返回“重定向:/login”;
}
}

在我的spring项目中,我也面临着类似的问题。我建议您将POST方法更改为以下方法

@RequestMapping(value = "/user/userAdd", method = RequestMethod.POST)
public String postUserAdd(@ModelAttribute("user") @Valid User user,
        BindingResult aaResult, Model aaModel, SessionStatus aaStatus) {
    if (aaResult.hasErrors()) {
        List<Country> llistCountry = this.caService.findCountryAll();
        aaModel.addAttribute("countrys", llistCountry);   

        return "/user/userAdd";
    } else {
        user = this.caService.saveUser(user);

        aaStatus.setComplete();
        return "redirect:/login";
    }
}
@RequestMapping(value=“/user/userAdd”,method=RequestMethod.POST)
公共字符串positionrad(@modeldattribute(“user”)@有效用户,
BindingResult aaResult、模型aaModel、会话状态aaStatus){
if(aaResult.hasErrors()){
List-llistCountry=this.caService.findCountryll();
aaModel.addAttribute(“国家”,即ListCountry);
返回“/user/userAdd”;
}否则{
user=this.caService.saveUser(用户);
aaStatus.setComplete();
返回“重定向:/login”;
}
}
在这里,列表再次添加到模型中,并且它还将保留UI中以前选择的值(如果有)

希望这有帮助