2012-11-26 8 views
0

parent.jsp라는 상위 jsp가 있습니다. 이렇게하면 iframe1이라는 iframe이 생성되고, 그러면 iframe2라는 iframe에 프레임이 생성됩니다. parent.jsp에서iframe에서 iframe으로 매개 변수를 전달하는 방법은 무엇입니까?

:

String myNumber=request.getParameter("myNumber"); 

지금은 iframe2.jsp에 다시 전달해야합니다 여기

<iframe id="iframe1" style="display:none;" height="430" 
width="675" 
src="iframe1.jsp?myNumber=<%= bean.getMyNumber() %>" > 

, 내가 사용 iframe1.jsp에 mynumber를 얻을. 이를 위해 나는 createSecondIframe()이라는 자바 스크립트 메서드를 호출하고있다. 여기에 나는이처럼 사용하고 있습니다 :

iframe2 모든 시각적 인 내용으로 만들어지고 있지만, myNumber은 내가이 수행 할 때 위해 전달 받고되지 여기
createSecondIframe(myNumber) 
{ 
ifrm.setAttribute("src", "iframe2.jsp?myNO=myNumber"); 
} 

:

System.out.println("MyNo::"+request.getParameter("myNO")); 

내가 얻을 MyNO을 null로.

편집 : 브루노의 제안에 따르면

,이 createSecondIframe()를 호출 기능 :

function iframe1(myNumber) 
{ 
var parentDynamicDiv = window.parent.document.getElementById('overlay1'); 
var iframe = window.parent.document.getElementById('container1'); 

iframe.style.display = 'none'; 
parentDynamicDiv.style.display = 'none'; 
createSecondIframe(myNumber); 
} 

내가 잘못 가고 있습니까? 친절하게 도와주세요.

+0

에 한번 사용 AJAX 대신 iframe을 가지고 노는와 createSecondIframe를 호출합니다. 브라우저 도메인 검사와 같이 예상보다 많은 문제가 발생합니다. – Raptor

+0

그래, 정확히 무엇을 할 수없는 이유는 요구 사항이 무엇보다도 iframe을 사용하도록 요구하는 것이기 때문입니다. –

+0

대신 jQuery를 사용하여 JavaScript로 처리하십시오. 부모 JavaScript 함수를 호출하여 두 번째 iframe의 src URL을 변경하면됩니다. – Raptor

답변

0

브라우저는 서블릿의 컨텍스트에 존재하는 myNumber에 대해 아무것도 모릅니다. 클라이언트 코드 내에서 명시 적으로 정의해야합니다.

<script type="text/javascript"> 
    var myNumber = <%= myNumber %>; 
</script> 

createSecondIframe(num) 
{ 
ifrm.setAttribute("src", "iframe2.jsp?myNO="+ num); 
} 

그리고 나중에 myNumber

createSecondIframe(myNumber) 
+0

우선, 부모는 이미 iframe1.jsp에서 bean을 사용합니다. 이미 부모에서 사용하고 있습니다.jsp를 만들고 그 값을 매개 변수로 전달하고 iframe1.jsp에서이 값을 얻습니다. 두 번째 iframe에 대한 두 번째 url에 변수를 전달한 후 가져 오려고하면 가져올 수 없습니다. 그래, 변수를 메서드 인수를 통해서만 전달한 다음 "iframe2.jsp? myNO ="+ num. 아직도 나는 null을 얻고있다. 그냥 할 수있는 일이 무엇인지 잘못 판단해야합니다. –

+0

글쎄,'num'이 실제로 유효한지 확인해보십시오. 예를 들어'createSecondIframe' 본문에'alert (num);'을 덧붙입니다. –

+0

알았습니다. –

0

myNO 변수를 사용하고 있지 않지만 myNO를 문자열로 지정하고 있습니다. 시도해보십시오

createSecondIframe(myNumber) 
{ 
    ifrm.setAttribute("src", "iframe2.jsp?myNO=" + myNumber); 
} 
+0

변경되었지만 여전히 null이되었습니다 –

+0

'createSecondIframe' 함수를 호출하는 코드를 표시 할 수있는 기회가 있습니다. – Bruno

+0

예, 편집 중입니다. –

관련 문제