2012-06-14 1 views
0

JS를 사용하여 팝업을 여는 JSP 페이지가 있습니다. 팝업이 다음 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는 웹 페이지를 열 때 서블릿에서 전달되는 값은 JSP 페이지에 표시되지 않는다는 것입니다. 하지만 Firebug에서 HTML 응답을 확인하면 HTML이 올바르게 렌더링됩니다. 내 질문에 어떻게 제대로 팝업 창에서 서블릿 얻을 수 있습니까?

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가 팝업에 지금 인쇄됩니다.

+0

어떤 서블릿입니까? JSP를 실행하는 팝업을 엽니 다. 서블릿을 호출하려면 URL이 서블릿의 URL이어야합니다. –

+0

그래서 HTML을 반환하는 AJAX 호출을 만들고이 HTML을 팝업에 표시하고 싶습니다. 맞습니까? 그렇다면 AJAX 호출의 URL을 사용하여 팝업을 열고 AJAX 호출을 완전히 제거하지 않는 것이 어떻습니까? –

+0

아약스 호출에서 서블릿이 이미 실행되었다는 것을 알고 있습니다. 호출이 성공하면 팝업에 표시하고자하는 올바른 html을 반환합니다. – TrashCan

답변

0

이이 일의 좋은 방법이 아니지만, 당신이 원하는 경우 코드는 다음과 같이 사용합니다 작업 :

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

}); 

성공 방법 안에 열려있는 코드를 넣습니다.

또한 님의 성공을님께 썼습니다. 고치세요.