我有一个名为Menu的对象。它有一个名为VoceMenu的对象列表
public class Menu implements Serializable{
@Column(name="titolo")
private String titolo;
@OneToMany(mappedBy="menu", fetch=FetchType.EAGER)
@Cascade({CascadeType.SAVE_UPDATE})
private List<VoceMenu> voceMenuList;
}
public class VoceMenu implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="id", nullable=false, updatable=false)
private Integer id;
@Column(name="descrizione", nullable=false)
private String descrizione;
}
这是我的Spring表格
<form:form modelAttribute="menu">
<form:input path="titolo" maxlength="50"/>
//List of VoceMenu//////////////////////////////////////////////
<form:hidden path="voceMenuList[${counter.index}].id"/>
<form:input path="voceMenuList[${counter.index}].descrizione" />
////////////////////////////////////////////////////////////////
</form:form>
如果我想编辑现有的VoceMenu,这个表格没问题,因为任何VoceMenu已经拥有自己的id
。
但是,如果我想添加一个新的VoceMenu,这是不行的,因为当然,voceMenuList[${counter.index}].id
将为null。
由于我想使用jquery将表单的一部分相乘以添加新的VoceMenu,我该如何处理这个表单?我应该在字段ID的path
属性中写什么?