FraFu: Eigentliches Problem: tomcat, redirect, IE: Erlaubnis verweigert

Beitrag lesen

Hallo!

Ich möchte den Fehler in einem engl. sprachigen Forum schildern, habe aber gerade keinen engl. IE zur Hand.

warum nicht in diesem Forum?

Weil ich zuerst dachte es sei ein ExtJS spezifisches Problem. Aber es dürte ein pure JS Problem sein.

Kurz die Problemstellung:
Applicationserver: Tomcat 6, Client: Internetexplorer 7

Wenn ich ein Frameset habe und in einem Frame eine Seite als src eingetragen habe, die ein response.sendredirect macht, dann läßt mich der IE nicht auf das window Objekt zugreifen.

Das ganze ist mit folgendem Code nachvollziehbar:
Main.html:

  
<html>  
   <frameset rows="200,*">  
  <frame name="f1" src="Test.jsp">  
  <frame name="f2" src="Test.jsp?redirect=1">  
   </frameset>  
</html>  

Test.jsp:

  
<%  
    if(request.getParameter("redirect")!=null) {  
        response.sendRedirect("Test.jsp");  
        return;  
    }  
%>  
<html>  
<head>  
    <script type="text/javascript">  
        window["undefined"]=window["undefined"];  
    </script>  
</head>  
<body onload='document.getElementById("a").innerHTML=window["undefined"];'>  
<div id='a'></div>  
</body>  
</html>  

Der obere Frame lädt Test.jsp direkt. Das geht auch in Ordnung. Es wird im div "undefined" eingetragen.

Der untere Frame lädt zuerst Test.jsp?redirect=1, das veranlaßt Test.jsp ein Redirect auf sich selbst zu machen allerdings ohne Parameter. Dadurch wird dann die gleich Seite angezeigt. In diesem Fall mäckert der IE aber "Erlaubnis verweigert".

Es ist übrigens unabhängig davon ob ich auf "Test.jsp" redirecte oder auf Test.jsp über eine voll qualifizierte URL.

mfg
  frafu