Java 如何将参数从GET方法重定向到POST方法
如果表单上有错误,我希望将视图重定向到get方法。这是一种好的做法吗 在POST方法中,我有员工和地址。第一个是Employee对象,第二个是两个地址的列表。如何将它们传输回视图中的GET方法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
@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响应来执行此操作,响应只需要通知客户哪些字段出错