java - 重定向到另一个页面时如何保存数据
问题描述
我使用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;
当我转到另一个页面时如何保存用户数据,以及保存用户和卡?
解决方案
我猜管理员正在添加用户并管理他们的卡片。在这种情况下,您可以使用RedirectAttributes
以将新创建的用户 ID 传递给新页面。
看看这里https://stackoverflow.com/a/19269653/869793
它还可以帮助您直接通过 URL 传递属性。
推荐阅读
- javascript - 如何在同一个文件js中创建两个组件?
- uart - 如何从 uart 接收超过 5 个字节?
- functional-programming - 为什么在 Kotlin 中链接 .map() 和 .filter() 不能按预期工作?
- python - pymysql.err.InternalError:数据包序列号错误 - 得到 45 预期 0
- ios - 在布局更改的同时重新加载/动画 UICollectionView
- python - 如何在 Python2 中离线验证 xHtml1.1 文档
- javascript - 用于 Java 注释的 JavaScript 正则表达式
- php - Phpunit 收到错误消息
- c++ - 如何重新初始化/将整数设置为空值
- swift - 在实例化视图控制器中设置数据