0

我有一个 JSP 页面,它使用 JS 打开一个弹出窗口。弹出窗口打开以下 JSP 页面。

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link href="/ArchiveSearch/resources/css/messageDetail.css" rel="stylesheet" type="text/css">

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Message detail</title>
</head>
<body>
    <div class="wrapper">
            <h1>Message Details</h1>
            <div class="messageMeta1">
                    <div><span class="label">Sender:</span> <c:out value="${messageid}" /></div>
                    <div><span class="label">Receiver:</span></div>
                    <div><span class="label">Subject:</span></div>
                    <div><span class="label">Attachments:</span></div>
            </div>
            <div class="messageMeta2">
                    <div><span class="label">Case ID:</span></div>
                    <div><span class="label">Date:</span>${messagedate}</div>
            </div>
            <div class="messageContent">
            </div>
    </div>
</body>
</html>

我的问题是,当 JS 打开网页时,从 servlet 传递的值不会显示在 JSP 页面上。但是当我在 Firebug 下检查 HTML 响应时,HTML 会正确呈现。我的问题是如何正确获取弹出窗口中的 Servlet?

JS:

$('#searchResults tbody tr').live('dblclick', function () {
    var aData = table.fnGetData( this,0 );
    $.ajax({
        url: "MessageDetail",
        type: "POST",
        data: "messageid=" + aData,
        succes: function(data) {
        }
    });
    window.open(myjsppage.jsp, "_blank", "width=600,height=600");
});

弹出窗口已经知道之前提出的请求,我该如何解决这个问题?

编辑 我尝试过这样的事情:

        succes: function(data) {
            gData = data;
        }
    });
    var popup = window.open("messageDetail.jsp", "_blank", "width=600,height=600");
    popup.document.write(gData);
});

我认为我走在正确的道路上,但我还没有完全做到。Undefined 现在在弹出窗口中打印,这意味着变量没有被填充。

4

1 回答 1

0

这不是一个好方法,但如果你想让你的代码工作,你必须像这样使用它:

success: function(data) {
            gData = data;
            var popup = window.open("messageDetail.jsp", "_blank", "width=600,height=600");
            popup.document.write(gData);
        }
    });

});

将您的开放代码放入成功方法中。

你也用一个's'写了成功,请修复它。

于 2016-04-25T14:50:14.443 回答