【问题标题】:Request attribute not passed from Action to JSP请求属性未从 Action 传递到 JSP
【发布时间】:2016-06-09 09:50:01
【问题描述】:

我有一个 JSP 页面,它显示在页面加载时从数据库中检索到的表格数据。表格中的每一行在最后一列都有一个“更多”按钮,它打开一个显示记录详细信息的模式窗口。在这个模态窗口中,我有一个按钮。单击此按钮后,我想在新的模式窗口中显示记录的审核历史记录。
我的 JSP 文件包含用于检索特定记录的审计详细信息的 Ajax 调用。

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();
}

Action 文件包含从 ajax 调用中检索参数然后调用返回记录列表(审计历史记录)的后续服务方法的代码。 我将此列表设置为请求对象中的属性:

request.setAttribute("MyList", myList);  

当我尝试在我的 JSP 中访问此属性时,它是未定义的。

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

这总是空的。但是,在我的动作课中,这有 1 条记录。 对此的任何帮助表示赞赏。

【问题讨论】:

标签: ajax jsp struts1


【解决方案1】:

JSON 就是答案。我创建了一个 JSON 对象并将其设置为在我的操作文件中设置响应对象。

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

在我的 JSP 中访问了这个 JSON 对象。函数 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');
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-19
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-09
    • 2012-02-13
    相关资源
    最近更新 更多