Spring Thymeleaf中形式上的ArrayList
我正在开发一个可以添加电影列表的应用程序。当我想把电影的信息放在ArrayList上时,我有一个表单。我想在表单中添加电影的数据,然后提交,然后再添加其他电影 控制器:Spring Thymeleaf中形式上的ArrayList,spring,hibernate,spring-mvc,bootstrap-4,thymeleaf,Spring,Hibernate,Spring Mvc,Bootstrap 4,Thymeleaf,我正在开发一个可以添加电影列表的应用程序。当我想把电影的信息放在ArrayList上时,我有一个表单。我想在表单中添加电影的数据,然后提交,然后再添加其他电影 控制器: @RequestMapping(value = "/formulario", method = RequestMethod.GET) public String addForm(Model m) { m.addAttribute("pelis", new ArrayList<Pel
@RequestMapping(value = "/formulario", method = RequestMethod.GET)
public String addForm(Model m) {
m.addAttribute("pelis", new ArrayList<Peliculas>());
return "addform";
}
@RequestMapping(value = "/addpeli", method = RequestMethod.POST)
public String addPedido(@ModelAttribute("pelis") List<Pelicula> pelis)
throws InstantiationException {
peliculaService.addLibreria(pelis);
return "added";
}
我知道我不能把头衔的价值直接放在表格中,但我不知道怎么做
编辑:
Pelicula有一个复合主键
这是我的Pelicula课程:
@Entity
public class Pelicula {
@EmbeddedId
private PkPelicula idPeli;
private String titulo;
private String director;
private String sinopsis;
public Pelicula(String titulo, String director, String sinopsis) {
this.titulo = titulo;
this.director = director;
this.sinopsis = sinopsis;
}
public Pelicula() {
}
//getters and setters
@Embeddable
public class PkPelicula implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name = "id_libreria")
private Integer idLibreria;
@Column(name = "id_pelicula")
private Integer idPelicula;
public PkPelicula() {
}
public PkPelicula(Integer idLibreria, Integer idPelicula) {
this.idPedido = idLibreria;
this.idPelicula = idPelicula;
}
PkPelicula类:
@Entity
public class Pelicula {
@EmbeddedId
private PkPelicula idPeli;
private String titulo;
private String director;
private String sinopsis;
public Pelicula(String titulo, String director, String sinopsis) {
this.titulo = titulo;
this.director = director;
this.sinopsis = sinopsis;
}
public Pelicula() {
}
//getters and setters
@Embeddable
public class PkPelicula implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name = "id_libreria")
private Integer idLibreria;
@Column(name = "id_pelicula")
private Integer idPelicula;
public PkPelicula() {
}
public PkPelicula(Integer idLibreria, Integer idPelicula) {
this.idPedido = idLibreria;
this.idPelicula = idPelicula;
}
应用程序将尝试从中获取属性titulo
List<Peliculas> -> List does not have this property so it will fail
List->List没有此属性,因此将失败
如果要为列表中的每个项目绑定属性titulo,则必须迭代thymeleaf中的所有pelis元素,并将它们绑定到输入字段:
<tr th:each="item, itemStat : *{pelis}">
<td><input th:field="*{pelis[__${itemStat.index}__].titulo}" /></td>
<td><input th:field="*{pelis[__${itemStat.index}__].director}" /></td>
</tr>
附上完整的Pelicula类。查看本文:我刚刚添加了Pelicula类@Alien@tharanga-迪内什:我找到了那篇文章,但它对我不起作用me@JaneC.aregetter setter公共?请确认。这就是为什么我告诉你附上全班。我几天前发现了这个问题,但你是对的!