Java 如何将参数从GET方法重定向到POST方法

Java 如何将参数从GET方法重定向到POST方法,java,request-mapping,Java,Request Mapping,如果表单上有错误,我希望将视图重定向到get方法。这是一种好的做法吗 在POST方法中,我有员工和地址。第一个是Employee对象,第二个是两个地址的列表。如何将它们传输回视图中的GET方法 @GetMapping("/new") public String showCreateFormForEmployeeAndAddresses(Model model) { if(addressService.getCheck()== false) { for (int

如果表单上有错误,我希望将视图重定向到get方法。这是一种好的做法吗

在POST方法中,我有员工和地址。第一个是Employee对象,第二个是两个地址的列表。如何将它们传输回视图中的GET方法

    @GetMapping("/new")
public String showCreateFormForEmployeeAndAddresses(Model model) {

    if(addressService.getCheck()== false) {
        for (int i = 1; i <= 2; i++) {
            addressService.newAddress(new Address());
        }
        model.addAttribute("employee", new Employee()).addAttribute("form", addressService);
    }else {

        model.addAttribute("employee", ???).addAttribute("form", ???);
    }
    return "new_employee_form";
}


@RequestMapping(value = "/employees", method = RequestMethod.POST)
public String saveEmployeeAndAddress(RedirectAttributes redirectAttributes,
                                     @ModelAttribute @Valid Employee employee,
                                     BindingResult bindingResultEmployee,
                                     @ModelAttribute @Valid AddressRepository addresses,
                                     BindingResult bindingResultAddressRepository, Model model)  {

    if(bindingResultEmployee.hasErrors() || bindingResultAddressRepository.hasErrors()) {

        return "redirect:/new";

    } else{
        ExecutorService executor = Executors.newSingleThreadExecutor();
        Runnable runnableEmployee = () -> employeeService.saveEmployeeToDB(employee);
        List<Address> addressesFromForm = addresses.getAddresses();
        Runnable runnableAddress = () -> addressService.saveAddressToDB(addressesFromForm);

        executor.submit(runnableEmployee);
        executor.submit(runnableAddress);

        return "redirect:/employees";
    }
}
@GetMapping(“/new”)
公共字符串showCreateFormForEmployeeAndAddresses(模型){
if(addressService.getCheck()==false){
for(int i=1;i employeeService.saveEmployeeToDB(employee);
列表地址fromform=addresses.getAddresses();
Runnable RunnabLeadAddress=()->addressService.saveAddressToDB(AddresssFromForm);
执行人提交(RunnableeEmployee);
执行人提交(runnableAddress);
返回“重定向:/employees”;
}
}

返回400状态码并详细说明用户需要采取的纠正措施有什么错?可能没有。但我希望表单的每个字段下都显示错误。您仍然可以使用传统的400响应来执行此操作,响应只需通知客户哪些字段错误返回400状态代码并详细说明用户需要采取的纠正措施有什么问题?可能没有。但我希望在表单的每个字段下都显示错误。您仍然可以使用传统的400响应来执行此操作,响应只需要通知客户哪些字段出错