当前位置: 首页 > 知识库问答 >
问题:

Spring boot使用thymeleaf保存对象列表

李成礼
2023-03-14

我想保存对象(产品)与列表对象(属性)和有问题,因为我需要使用输入文本的对象属性。

产品实体

public class Product {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @JsonIgnore
    private Long id;
    private String name;
    
    @OneToMany(mappedBy="product", fetch=FetchType.EAGER)
    private Set<Attribute> attributes;

属性实体

public class Attribute {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @JsonIgnore
    private long id;

    @JsonIgnore
    private String description;

    @JacksonXmlProperty(isAttribute = true)
    private String name;

我在百里香的表格。

<form action="#" th:action="@{/save}" th:object="${product}" method="post">
        <div class="form-group row">
            <label class="col-sm-3 col-form-label">Nazwa</label>
            <div class="col-sm-9">
                <input type="text" th:field="*{name}" class="form-control" placeholder="Nazwa">
            </div>
        </div>
       <!-- contener for input list Attributes -->
        <div class="form-group row">
            <label class="col-sm-3 col-form-label">Nazwa</label>
            <div class="col-sm-9">
                <input type="text" th:field="*{attributes}" class="form-control" placeholder="Nazwa">
            </div>
        </div>
            <button style="width: 200px; margin-bottom: 20px" type="submit" class="btn btn- 
    primary">Zapisz</button>
    </form>

我如何无法输入好的保存对象产品?控制器

@RequestMapping("/new")
public String showNewProductPage(Model model) {
    Product product = new Product();
    model.addAttribute("product", product);
    
    return "new_product";
}

@RequestMapping(value = "/save", method = RequestMethod.POST)
public String saveProduct(@ModelAttribute("product") Product product) {
    service.save(product);
    return "redirect:/";
}

共有1个答案

牧熙云
2023-03-14

当然和产品在属性上有关系。

public class Attribute {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;

@JsonIgnore
private String description;

@JacksonXmlProperty(isAttribute = true)
private String name;

@ManyToOne
@JoinColumn(name="product_id")
private Product product;
 类似资料:
  • 我很难将表单发回控制器,因为它应该只包含用户可以编辑的对象的arraylist。 表单加载正确,但在发布时,它似乎从未真正发布任何内容。 这是我的表格: 上面的工作正常,它正确加载列表。但是,当我发布时,它返回一个空对象(大小为0)。我认为这是由于缺少,但无论如何,这里有一个控制器POST方法: 我尝试添加一个,但不管我做什么,它都会导致异常。 我试过: 我不能访问当前客户端(编译错误),我甚至不

  • 我是MongoDB的新手,我正在用Mongoose创建一个简单的数据库,模型如下:用户、游戏和玩家。 因此,一个用户不包含或包含多个游戏。每个游戏都有一个玩家,每个玩家都指一个用户。如下所示(为了清晰起见,我简化了模式): 因此,现在在前端,我想向后端发送一份请愿书,为用户Joe(_id:11111)和Bob(_id:22222)创建一个新游戏,因此我向/api/games发送了一篇帖子,帖子的主

  • 问题内容: 我的对象是: 函数的类别是: 当我尝试使用此功能时: 它不和我一起工作,有帮助吗?!!! 问题答案: 我用这个类来解决这个问题: 然后我用这个功能来使用它

  • 问题内容: 我在父子表之间存在一对多关系。在父对象中,我有一个 我在子表中也有一个外键。此外键是引用数据库中父行的ID。因此,在我的数据库配置中,此外键不能为NULL。同样,此外键也是父表中的主键。 所以我的问题是如何通过执行以下操作来自动保存子对象: 我尝试了上面的方法,但是我收到一个数据库错误,抱怨Child表中的外键字段不能为NULL。是否可以告诉JPA自动将此外键设置为Child对象,以便

  • 问题内容: 我想在本地保存具有循环引用的对象。我有什么选择? 我的第一个想法是使用HTML5本地存储,但是由于循环引用,我无法对该对象进行字符串化。 具体来说,我正在尝试保存当前选择的DOMSelection对象。 例: 我现在可以使字符串化工作的唯一方法是忽略某些对象,如下所示: 但这给我留下了一个相当空的DOMSelection对象,不足以满足我的需要。 还有其他方法可以保存该对象吗?唯一的要