【发布时间】:2021-01-25 19:11:38
【问题描述】:
我用的是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";
}
Konto 控制器
@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";
}
用户和卡是一对多的关系
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;
当我转到另一个页面时如何保存用户数据,以及保存用户和卡片?
【问题讨论】:
标签: java spring-boot spring-mvc thymeleaf