Передать список проверенных значений в контроллер по объекту Bean? - PullRequest
0 голосов
/ 15 ноября 2018

Попытка передать список выбранных объектов в контроллер, но компонент не получает список субъектов.

Вот код, который я пробую:

$("#submitCreateStudent").click(function() {
      var selSubjectIds = new Array();
      $('#subjectsTableInCreateStudent').find('.jtable-data-row').each(function() {
        if (selSubjectIds.length < 1) {
          selSubjectIds.push($(this).attr('data-record-key') + '$');
        } else {
          selSubjectIds += $(this).attr('data-record-key') + '$';
        }
      });

      if (validateCreateStudentForm()) {

        var data = new FormData();
        data.append('firstName', $("#firstNameInCreateStudent").val());
        data.append('lastName', $("#lastNameInCreateStudent").val());
        data.append('address', $("#studentAddressInCreateStudent").val());
        data.append('collegeName', $("#studentCollegeNameInCreateStudent").val());
        data.append('phoneNumber', $("#phoneNumberInCreateStudent").val());
        data.append('email', $("#emailInCreateStudent").val());
        data.append('studentDepartment', $("#departmentInCreateStudent").val());
        data.append('studentBranch', $("#branchInCreateStudent").val());
        data.append('DateOfBirth', $("#dobInCreateStudent").val());
        data.append('DateOfReport', $("#dorInCreateStudent").val());
        data.append('loginUserName', $("#studentUserNameInCreateStudent").val());
        data.append('loginPassword', $("#passwordInCreateStudent").val());
        data.append('studentSubjects', selSubjectIds);

        //                        data.append('skipInitialTraining', skipInitialTraining);

        $("#maskingId").mask("Saving...");

        $.ajax({
          url: "AddStudent.do",
          data: data,
          //                           
          //Remaining code goes here.
        });
      });

Все подробности поступают в класс контроллера, за исключением списка субъектов, для которых установлены флажки.

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Спасибо всем за ваши усилия. Я нашел для себя способ решить эту проблему следующим образом:

var arr = "";
$('#subjectsTableInCreateStudent').find('.jtable-data-row').each(function() {
                        var record = $(this).data('record');
                        arr += record.subjectId + seperatorForGridCells;   

                    });

Здесь переменная arr хранит каждый идентификатор как строкуконкатинируя с некоторым разделителем "seperatorForGridCells".Затем я использовал StringTokenizer для разделения каждого идентификатора и проанализировал каждый идентификатор из строкового типа в int.

0 голосов
/ 15 ноября 2018

По умолчанию jQuery поддерживает отправку в формате json

data :{‘selSubjectIds’:selSubjectIds} или $(this).serialize();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...