2012-04-09 14 views
1

Ich arbeite an einem alten JSP Webapp zu entfernen, das hat grundlegende 3 Präsentationsflächen:JSF und Möglichkeiten, Inhalte Iframe von einem alten JSP Webapp

oberen Menü/Seite Menü/Inhalt

zunächst diese Layout verwendet IFRAMES. Andere Personen haben sich geändert, bevor das Hauptmenü und das Seitenmenü von Iframe an DIV herangehen, nicht jedoch der Inhalt IFRAME.

Jede Seite des Systems ist eine individuelle JSP-Seite, mit vielen anderen JSPs (Zugangskontrolle, Sitzungszeit, usw.) Enthält, JS, CSS etc.

Wenn ich versuche, DIV zu verwenden, um Inhalte zu laden Es treten viele Probleme auf, da diese Option den Inhalt in einen Basiscode (Hauptseite) einfügt, der eigene CSS, JS, enthaltene JSPs enthält.

a4j: include, ui: include (Vorlagen mit Facelets) und c: import sind Optionen, die wie DIV, die Codes mischen.

Ich möchte eine Option wie IFRAME, eine unabhängige und isolierte Seite in einem Bereich einer Hauptseite einfügen. Ohne dies wären viele harte (und mühsame) Arbeiten notwendig, um jeden einzelnen Dateiinhalt an die Hauptseite anzupassen.

mein Chef will nicht weiter auf IFRAME Leider:) ....

Update: BalusC, es ist eine Ehre für mich, dass Sie meine Frage beantwortet hatte. Ich lebe meine erste Erfahrung mit der Arbeit als Entwickler (war immer ein persönlicher Traum, da ich ein Kind bin, wenn ich erste Kontakte mit Basic in einem TK90X an den Fernseher angeschlossen habe), begann in diesem Job vor zwei Monaten und manchmal Ich kann deine Kommentare im Internet sehen und vielen Menschen helfen.

Ich bin sehr Anfänger mit JSF/JSP, aber die Frage ist, wie Sie die IFRAME löschen und eine andere Lösung verwenden, um Inhalte mit minimalen Auswirkungen auf das Projekt zu laden, weil die Webapp mehr als 1k JSP-Dateien, die bereits verwendet JSF-Tags (das Projekt wurde langsam aktualisiert, um JSF zu verwenden). Wir verwenden JAVA 6, Tomcat 6 und JSF 1.2.

Einige Probleme mit der Verwendung von a4j: umfassen zum Beispiel, ist, dass die enthaltenen Seiten Aktion als Teil der Hauptseite und:

1- jeder Seite müssen af ​​verwenden: f statt subview tag: Aussicht. Alle, die bereits nach JSF migrierten, verwenden f: view (sehr manuelle Änderungen waren notwendig).

2- mit include, die URL-Pfadreferenz ist der Pfad der Hauptseite, nicht der Pfad der enthaltenen Datei (mit IFRAME existiert dieses Problem nicht). Jede Seite des Projekts wurde erstellt, um mit Frames zu arbeiten, unter Verwendung von JS, CSS, JSPs, viele davon mit einem relativen Pfad wie: "../../javascript/jsfile.js". Wie Sie sehen können, mit Includes oder Imports (a4j, ui), sind viele harte Arbeit notwendig (mehr als 1k Dateiänderungen. Eine Option, die wie Iframe funktioniert, einschließlich einer unabhängigen Seite im Inhaltsbereich (die Webapp war) dafür gemacht), wird mir sehr helfen.Ich weiß, dass dies nicht der richtige Weg ist, aber die Webapp ist sehr groß, um eine drastische Änderung schnell mit Vorlagen oder anderen Lösungen zu tun.

Verzeihen Sie mir für die schlechte Englisch und mögliche grundlegende Fragen, die ich nicht kenne

+0

Diese Frage ist viel zu weit gefasst und Sie haben die Antworten bereits selbst gegeben (benutzen Sie einfach '', etc). Sie sollten die Frage neu formulieren und sich darauf konzentrieren, die einzelnen Probleme zu lösen, denen Sie mit '' begegnet sind. – BalusC

+0

@BalusC, bitte die Frage aktualisieren. Danke vielmals. –

Antwort

2

Ich löste mein Problem mit dem HTML-Tag 'object'. Wie 'iframe', mit diesem Tag "bleibt das eingebettete Dokument unabhängig vom Hauptdokument." (w3c.org)

Und dieses Tag ist in HTML Strict.

Link zu w3c Seite zu 'Objekt': http://www.w3.org/TR/html401/struct/objects.html

Danke trotzdem.

+0

danke für diese gute Idee – wutzebaer