Spring Thymeleaf中形式上的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

我正在开发一个可以添加电影列表的应用程序。当我想把电影的信息放在ArrayList上时,我有一个表单。我想在表单中添加电影的数据,然后提交,然后再添加其他电影

控制器:

@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公共?请确认。这就是为什么我告诉你附上全班。我几天前发现了这个问题,但你是对的!