2016-06-09 2 views
0

У меня есть страница JSP, которая отображает табличные данные, полученные из базы данных при загрузке страницы. Каждая строка в таблице имеет кнопку «больше» в последнем столбце, которая открывает модальное окно, отображающее подробную информацию о записи. В этом модальном окне у меня есть кнопка. При нажатии этой кнопки я хочу отобразить историю аудита для записи в новом модальном окне.
В моем файле JSP содержится вызов Ajax для получения сведений о реестре аудита конкретной записи.Атрибут запроса не передан из Action в JSP

function showHistoryLog() { 
    var questionId = document.getElementById("txtQuestionId").innerText; 

    var url = "myAction.do?dispatchMethodName=getAuditTrail&questionId="+questionId; 

    $.ajax({ 
    method : "GET", 
    url : url, 
    data : questionId 
    }).done(function(msg) { 
     alert("Record retrieved successfully."); 
     $('#detmyAudit').modal('show'); 
    }); 

    ev.preventDefault(); 
} 

Действия Файл содержит код для извлечения параметров из Ajax вызова и затем вызвать последующий метод сервиса, который возвращает список записей (история записей аудита). Я устанавливаю этот список в качестве атрибута в объекте запроса:

request.setAttribute("MyList", myList); 

При попытке открыть этот атрибут в моем JSP, это не определено.

<tbody> 
     <logic:notEmpty name="MyList"> 

Это всегда пусто. Однако в моем классе действий это имеет 1 запись. Любая помощь по этому поводу оценивается.

+0

Создайте [минимальный, завершающий и проверяемый пример] (http://stackoverflow.com/help/mcve). Наличие соответствующего кода и точное сообщение об ошибке позволят другим вам помочь. – Lexi

ответ

0

JSON - это ответ. Я создал объект JSON и установил его для установки объекта ответа в файле Action.

String myJsonObj = createJSONObject(myList); 
setReponseObj(response, myJsonObj, "text/html"); 

Доступ к этому объекту JSON в моем JSP. Функция showHistoryLog теперь изменена на:

function showHistoryLog() { 

    var questionId = document.getElementById("txtQuestionId").innerText; 

    var url = "myAction.do?dispatchMethodName=getAuditTrail&questionId="+questionId; 

    if ($.fn.DataTable.isDataTable('#tblmyAudit')) { 
     var auditTable = $('#tblmyAudit').dataTable().api(); 
     auditTable.destroy(); 
    } 

    $('#tblmyAudit').DataTable({ 
     ajax: { 
     url: url, 
     dataSrc: 'data' 
     }, 
     columns: [ 
       { data: "QuestionId" }, 
       { data: "Question" }, 
       { data: "Answer" }, 
       { data: "UpdatedBy" }, 
       { data: "UpdatedDate" } 
      ], 
     "scrollX": true, 

    }); 

    $('#detmyAudit').modal('show'); 
} 
Смежные вопросы