弹出窗口中的 servlet 响应

Servlet response in popup window

本文关键字:servlet 响应 窗口      更新时间:2023-09-26

我有一个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);
});

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

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

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

把你的开放代码放在成功方法中。

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