JSP 페이지에서 팝업 창을 열 때, 종종 팝업이 닫힐 때 어떤 동작을 수행해야 할 때가 있습니다. 이를 위해서는 팝업이 열릴 때 콜백 함수를 설정하고, 창을 닫을 때 해당 콜백 함수를 호출하는 방법이 필요합니다. 이 블로그 포스팅에서는 JSP와 JavaScript를 사용하여 이러한 동작을 구현하는 방법에 대해 자세히 살펴보겠습니다.
1. 팝업 창 열기
우선, 팝업 창을 열 때 콜백 함수를 설정하는 JavaScript 함수를 작성합니다. 이 함수는 window.open 을 사용하여 팝업 창을 열고, 콜백 함수를 window 객체에 저장합니다.
<script>
function openPopup(callback) {
window.open('popupContent.jsp', 'Popup', 'width=400,height=300');
window.popupCallback = callback;
}
</script>
2. 팝업 창 내용
팝업 창의 내용 페이지( popupContent.jsp )에서는 팝업 창을 닫을 때 콜백 함수를 호출하는 JavaScript 함수를 작성합니다.
<script>
function closePopup() {
if (window.popupCallback) {
window.popupCallback();
}
window.close();
}
</script>
3. 팝업 창 닫기
부모 창에서는 팝업 창을 닫을 때 호출될 콜백 함수를 지정합니다. 아래는 예시로 alert 를 통해 간단한 동작을 수행하는 콜백 함수를 전달하는 예제입니다.
<button onclick="openPopup(function() { alert('Popup Closed!'); })">Open Popup</button>
결론
이렇게하면 팝업 창이 열릴 때 설정한 콜백 함수가 호출되며, 창이 닫힐 때 해당 콜백 함수가 실행됩니다. 이를 통해 팝업 창의 동작을 다양하게 제어할 수 있습니다. 이러한 간단한 기법은 웹 애플리케이션에서 팝업 창을 다룰 때 유용하게 사용될 수 있습니다.