【问题标题】:how to save data when redirect to another page重定向到另一个页面时如何保存数据
【发布时间】: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


    【解决方案1】:

    我猜是管理员正在添加用户并管理他们的卡片。在这种情况下,您可以使用RedirectAttributes 将新创建的用户 ID 传递给新页面。

    看看这里https://stackoverflow.com/a/19269653/869793

    它还可以帮助您直接通过 URL 传递属性。

    【讨论】:

      猜你喜欢
      • 2020-08-20
      • 2021-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-22
      • 1970-01-01
      • 1970-01-01
      • 2019-11-04
      相关资源
      最近更新 更多