# Struts und Frames



## PE (19. Apr 2006)

Leider  muß  ich  Frames einsetzten.
Struts findet die Seiten nicht.
Wie mache ich es richtig ?



<frameset cols="250,*">
  <html:frame page="/WEB-INF/jsp/mod2/verweise.jsp"  />
<frameset rows="50%,50%">
  <html:frame page="/WEB-INF/jsp/mod2/body.jsp" />
<html:frame frameName="bottomFrame" page="/WEB-INF/jsp/mod2/bottom.jsp"  />
  </frameset> 
</frameset>

Vielen Dank


----------



## RawBit (19. Apr 2006)

das nennt man html und hat nix mit Frame/JFrame von Java zu tun

```
<html:frame frameName="bottomFrame" page="/WEB-INF/jsp/mod2/bottom.jsp" />
```


öhm sowas hab ich überhaupt noch nie gesehen :roll:
in html gibts eigentlich keine Doppelpunkte!
lass mal das "html:" weg dann sollts gehen


----------



## PE (19. Apr 2006)

Es geht hier um Struts und Frames 
Und hat tatsächlich nichts mit JFrame zu tun.
<html: ist ein tag
Es handelt sich   um eine WEB-Anwendung.


----------



## RawBit (19. Apr 2006)

struts... mal gehört aber was das jetzt genau is weiß ich nicht...


----------



## Roar (19. Apr 2006)

sicher dass die WEB-INF/ angabe im pfad nötig ist?
ein relativer pfad zu den jsps reicht eigentlich: jsp/mod2/verweise.jsp falls die frameset-jsp in / ist, oder einfach nur verweise.jsp falls die frameset datei in jsp/mod2 ist. :?:


----------



## byte (19. Apr 2006)

Hackl hat gesagt.:
			
		

> struts... mal gehört aber was das jetzt genau is weiß ich nicht...



warum antwortest du dann?


----------



## Lacos (20. Apr 2006)

Wenn Du WEB-INF bei den Pfaden weglässt sollte es gehen.


----------



## Gast (20. Apr 2006)

Alles was unterhalb des Web-Inf ist kann man nicht per Link (GET) erreichen. Dort kommst du nur über Form Actions hin (POST). Frameinhalte müssen also oberhalb des WEB-INF Ordners liegen.


----------



## PE (20. Apr 2006)

Vielen Dank für die Antworten.
Richtig ist:  man muß die die jsps oberhalb von WEB-INF legen.  
also: z.B. webapp/jsp/mod2/.... 

<frameset cols="250,*">
<html:frame page="/jsp/mod2/verweise.jsp" />
<frameset rows="50%,50%">
<html:frame page="/jsp/mod2/body.jsp" />
<html:frame frameName="bottomFrame" page="/jsp/mod2/bottom.jsp" />
</frameset>
</frameset> 

Hat jemand Erfahrungen mit Struts und Frames und gibt es Besonderheiten die zu beachten sind ?

Peter


----------



## bronks (21. Apr 2006)

PE hat gesagt.:
			
		

> ... Hat jemand Erfahrungen mit Struts und Frames und gibt es Besonderheiten die zu beachten sind ? ...


In deinem HTML-Schnipsel erkennt man was Du erreichen willst. Mit Frames bist Du auf dem falschen Weg, weil das nicht gut gehen wird. Verwende dafür Struts-Tiles.


----------



## PE (21. Apr 2006)

Das Problem ist das ich Frames verwenden muss !! Das ist eine Designanforderung.  
Bei Tiles wird auch  immer "die gesamte Seite"  an den Server geschickt.  Das soll eben nicht sein.
Änderungen sollen nur innerhalb eines Frames und dummerweise manchmal in zwei Frames (bei einem request) stattfinden.


Peter


----------



## bronks (21. Apr 2006)

@Peter:
Tut mir leid, aber m.E. hat jemand im Design einen gewaltigen Fehler gemacht. Zwei Frames in einem Request gehen mit Struts definitiv nicht und ob das überhaupt ordentlich funktioniert zweifle ich an.


----------



## PE (25. Apr 2006)

Ja das Design ist doof.
Falls es interessiert:  Lösung mit JavaScript
Die Steurung erfolgt  normal über Struts.
Wenn das Ergebnis des requests in zwei Frames angezeigt werden soll,
wird in der von Struts adressierten Ergebnisseite
JavaScript aufgerufen: 



<body onload="zweiFrames()"; >

<head>
<script....

function zweiFrames()
{
URL ="/../..auchUnten.jsp";
parent.frames[2].location.href=URL;
}
</script>
</head> 

Der request wurde im oberen Frame abgesetzt. 
Hier kommt auch die response an.
Aber durch die funktion wird auch das untere Frame  neu geladen und ich kann auch hier auf Ergebnis des requests (in der session gespeichert) zugreifen.
Klappt bei IE und firefox

Peter


----------



## seb als Gast (26. Apr 2006)

Haha, und wer kam auf die Idee mit dem Design mit Frames und JavaScript-POST ? Ist ja witzig *gg*
Erklär dieser Person mal dass das Quatsch ist.


----------

