Объект списка дополнений FormData - PullRequest
0 голосов
/ 25 сентября 2019

Данные не передаются из ajax в контроллер.

У меня есть следующая модель.

    @Setter
    @Getter
    public class Board {
        int bno;
        String bcontent;
        CustomUser user;
        .
        .
        .
        List<File> filevo;
    }

    @Setter
    @Getter
    public class File { 
        int fno;
        String file_path;
    }

И я кодировал JavaScript следующим образом:

    var rmvFileArr = new Array();

    function remove(fno){
        var fileObj = new Object(); 
        var src = $("#fileno"+fno+" img").attr('src');
        fileObj.fno=fno;
        fileObj.file_path=src;
        rmvFileArr.push(fileObj);
    }

    formData.append("filvo", rmvFileArr);
    for(var i =0; i<rmvFileArr.length; i++){
        formData.append("filvo["+ i +"].fno", rmvFileArr[i].fno);
        formData.append("filvo["+ i +"].file_path",
                rmvFileArr[i].file_path);
    }
    formData.append("bcontent",document.getElementById("autosize").value);
    formData.append("user.uno",document.getElementById("uno").value);

'массивpush 'работает просто отлично, как rmvFileArr.push(fileObj).Я проверил с консолью.

   public String upload(@ModelAttribute Board board) throws Exception{

              .
              .
              .


     logger.info("filevo " +
                            board.getFilevo().get(0).getFno()); 
   }    

board.getFilevo().get(0).getFno() вызывает ошибку нулевой точки.Все данные передаются за исключением List<File> filevo.
Как массив может поступить в контроллер?

...