我有一个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);
});
我认为我是在正确的道路上,但我还没有完全在那里。现在在弹出窗口中打印未定义,这意味着该变量未被填充。
答案 0 :(得分:0)
这不是一个很好的方法,但是如果你想让你的代码工作,你必须像这样使用它:
success: function(data) {
gData = data;
var popup = window.open("messageDetail.jsp", "_blank", "width=600,height=600");
popup.document.write(gData);
}
});
});
将您的开放代码放入成功方法中。
你还写了成功,请修复它。