[英]how to save data when redirect to another page
我使用teamleaf和springboot。
创建新用户时,他会被重定向到该用户可以在其上创建卡片的另一个页面。 问题是在转发时,有关用户的数据会丢失。 也就是说,卡片不知道它的创建者是谁。
@Controller
public class PersonController
@RequestMapping(value = {"/addPerson"}, method = RequestMethod.POST)
public String savePerson(Model model,
@ModelAttribute("personForm") PersonForm personForm) {
String firstName = personForm.getFirstName();
String lastName = personForm.getLastName();
double money = personForm.getMoney();
if (firstName != null && firstName.length() > 0 //
&& lastName != null && lastName.length() > 0) {
Person newPerson = new Person(firstName, lastName, money);
personService.save(newPerson);
return "redirect:/addKonto";
}
model.addAttribute("errorMessage", errorMessage);
return "addPerson";
}
连接控制器
@RequestMapping(value = {"/addKonto"}, method = RequestMethod.POST)
public String saveKonto(Model model, //
@ModelAttribute("kontoForm") KontoForm kontoForm) {
String kontoName = kontoForm.getKontoName();
double moneyInKonto = kontoForm.getMoneyInKonto();
if (kontoName != null && kontoName.length() > 0) {
Konto newKonto = new Konto(kontoName, moneyInKonto);
kontoService.save(newKonto);
return "redirect:/personList";
}
user 和 card 是一对多的关系
public class Person {
private String firstName;
private String lastName;
private double money;
@OneToMany (mappedBy = "person", fetch = FetchType.EAGER, cascade = {CascadeType.PERSIST, CascadeType.REMOVE,
CascadeType.MERGE})
private Set<Konto> kontos = new HashSet<>();
public class Konto {
private String kontoName;
private double moneyInKonto;
@ManyToOne(optional = false)
@JoinColumn(name = "person_fk_id")
private Person person;
当我 go 到另一个页面时如何保存用户数据,以及保存用户和卡?
我猜管理员正在添加用户并管理他们的卡片。 在这种情况下,您可以使用RedirectAttributes
将新创建的用户 ID 传递给新页面。
看看这里https://stackoverflow.com/a/19269653/869793
它还可以帮助您直接通过 URL 传递属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.