JSP include wie bei php? (inhalt statt ergebnis einfügen))

Status
Nicht offen für weitere Antworten.

dflasjjs

Bekanntes Mitglied
Hi,

ich bastel mir gerade einige JSP-Seiten zusammen.
Dabei habe ich eben eine index.jsp. In dieser ist mit CSS der komplette Aufbau und ich möchte quasi immer nur den verschiedenen Inhalt per include einfügen.
Also index.jsp?seite=kontakt, hol ich mit den get-parameter und lade mir per include die Kontakt-Datei rein. So habe ich immer das selbe CSS-Gerüst.

So, nun ist es bei include ja so, dass er die inkludierte Seite ausgeführt wird und danach inkludiert. Mein Problem ist, ich müsste in jeder zu include-Datei alle möglichen Initialisierungen machen, die ich in der index.jsp schon lange drin haben.

Deshalb suche ich nach ner Möglichkeit einfach nur den Inhalt der Include-Dateien zu inkludieren und dann die index.jsp komplett auszuführen.

Ich habe es ist rübergekommen was ich möchte. Müsste ja eigentlich ein gängiges Problem sein, bin natürlich auch für andere Vorschläge offen :)
 
M

maki

Gast
Sitemesh und Tiles fallen mir da spontan ein.
Letzteres habe ich früher benutzt.

Der JSP include Mechanismus ist eher unbrauchbar.
 

Geeeee

Bekanntes Mitglied
Vollständigkeitshalber-> Es geht auch dynamisch:
<jsp:include page="<%= meineSeite>" flush="true" />
Wobei man je nach Umfang evtl. über Sitemesh (oder Tiles) nachdenken sollte.
 
S

Spacerat

Gast
Selbst wenns geht... TU'S NICHT!!!
In PHP ist das ein riesiges Sicherheitsloch.
Code:
<?php
  include($_GET['seite']);
?>
Öffnet (fast) alle Türen für eine Code-Injection. Die einzige Tür die man überwinden müsste (allow_url_fopen_wrappers) ist bei vielen Webservern schon offen. O.K. hier geht's um JSP. Warum sollte man solch einen Schmutz (wie in PHP möglich) in JSP haben wollen, wo doch die Entwicklung eines Index-Servlets (gibt's dafür auch einen Fachbegriff?) um einiges sauberer und auch noch sicherer ist?
 

dflasjjs

Bekanntes Mitglied
@ARadauer: Habe das selbe Problem wie vorher. Bekomm dann beispielsweise "data cannot be resolved", obwohl data in der index.jsp bekannt ist.

@Spacerat: include($_GET['seite']); wäre auch nicht mein Plan gewesen. Hatte bisher immer. if ($_GET['seite') == "a" ) include(a.inc.php);, da sollte dein angemerkte Problem ja nicht bestehen.
 

MarcB

Bekanntes Mitglied
Also ich habe schon lange nix mehr mit JSPs gemacht, also verzeiht mir falls ich Mist rede, aber sucht er nicht etwas wie [HIGHLIGHT="Java"]<%@ include file="seite.jsp" %>[/HIGHLIGHT] ?
 

MarcB

Bekanntes Mitglied
Naja, dann muss man die inkludierte Datei halt öffnen und wieder speichern (oder halt ein touch machen).

Würde falls es was größeres ist, eh Tiles empfehlen.
 

dflasjjs

Bekanntes Mitglied
@maki: Hä? Aber ist reicht doch hier vollkommen oder nicht?
So wie es jetzt ist, wird doch quasi der komplette Text aus dein Seiten einfach an die Stelle "kopiert".
Also ich habe es jetzt getestet und bisher noch nichts festgestellt, wo es Probleme geben könnte...

Kannst du mich sonst aufklären? :)
 
M

maki

Gast
@maki: Hä? Aber ist reicht doch hier vollkommen oder nicht?
So wie es jetzt ist, wird doch quasi der komplette Text aus dein Seiten einfach an die Stelle "kopiert".
Eben, die include direktive wird nur ein einziges mal ausgeführt, d.h. die includierte JSP wird immer ausgegeben.

Wenn dir das reicht ok, aber wenn du dynamisch JSP einbinden musst, geht das damit nicht.
 

dflasjjs

Bekanntes Mitglied
Ah, nu habe ich es verstanden. Okay, in meiner Seite befindet sich quasi von allen der Text, er wird nur nicht immer angezeigt...
 
Zuletzt bearbeitet:

dflasjjs

Bekanntes Mitglied
Um bei deinem Beispiel zu bleiben:
Die kontakt.jsp wird jetzt immer angezeigt.

Hmm, jein, ich habe es ja mit If (request.getParameter("menu").equals("bla") { includ....) eingebunden, dadurch wird es zwar nicht angezeigt, ist aber trotzdem vorhanden.



Hmm, in wie weit is das denn ein Problem? Also ich habe ca. 30 verschiede Seiten die inkludiert werden sollen. Nach dieser Methode habe ich dann ja den Text aller 30 Seiten gleichzeitig in meiner Datei... obwohl immer nur eines gebraucht wird.

Ist es da sinnvoller sowas wie Tiles zu nutzen?
Die 30 Seiten bestehen fast immer nur aus einem (kleinen) Forumular...
 
M

maki

Gast
ich habe es ja mit If (request.getParameter("menu").equals("bla")
Pfui! Scriptlets sind böse..

Ich hoffe du hast gemerkt dass die include direktive etwas anders funktioniert ;)
Die wird nämlich immer ausgeführt, da hilft auch kein if.

Tiles fand ich ich damals ok (damals hatte es noch eklige Bugs, aber damals hatte alles eklige bugs) und nicht allzu kompliziert, hat auch Prima mit struts(1.1) zusammengepasst.

Wenn du JSPs dynamisch includieren willst, geht die include direktive schon mal gar nicht, denn diese ist statisch.
Theoretisch würde jsp:include gehen, ist aber leider unbrauchbar in der "roh form".
 

ARadauer

Top Contributor
scheinbar ein einfaches problem und eigentlich ein use case den man fast bei jedem projekt begegnet...
da braucht man sich nicht wundern, da jsp nie die verbreitung von php erreichen wird....
 
M

maki

Gast
>> scheinbar ein einfaches problem und eigentlich ein use case den man fast bei jedem projekt begegnet...

Ja, JSP ist wirklich nicht das gelbe vom Ei.

>> darüber lässt sich streiben.
>> kenn einige teams da sind taglibs ziehmlich verpönt... auch verständlich in einem team in dem jeder html und java kann, wieso sollte da noch ein pseudo tag sprache benutzt werden...

Diese JSPs will ich aber nicht warten müssen ;)
 

dflasjjs

Bekanntes Mitglied

ARadauer

Top Contributor
ich möchte nochmal das ausgangsthema ansprechen...
Mein Problem ist, ich müsste in jeder zu include-Datei alle möglichen Initialisierungen machen, die ich in der index.jsp schon lange drin haben.
was initialisierst du dir alles? sind das viele objekte
du kannst sie ja als attribut über den request weitergeben....
Code:
<%
  String test = "1234";
  request.setAttribute("test", test);  
%>
und in der includeten seite

Code:
<% String test = request.getAttribute("test") %>

dann hättest du deine initialisierten objekte...
 

dflasjjs

Bekanntes Mitglied
@maki: thx, daran lags.
@ARadauer: ansich keine Schlechte Idee, vor allem weil es im Grunde nur ein Objekt ist...

Noch mal zu Tiles...
Ich habe das nu lauffähig, nur habe ich hier irgendwie gerade exakt das selbe Problem. In meiner layout.jsp wird ein Objekt definiert, welches in der changeLanguage.inc.jsp verwendet wird.

Und ich bekomme für changeLanguage.jsp: data cannot be resolved.

Tiles-definition:
template="/layout.jsp" layout.jsp hat "content" als insertAttribute
<put-attribute name="content" value="/changeLanguage.inc.jsp" />

Wo is mein Fehler?
 

dflasjjs

Bekanntes Mitglied
Hmmm okay,
ich habe mich nun entschieden das jsp:include zu nutzen... sind max. 2 Zeilen die ich in jede Datei schreiben muss, denke werde ich schaffen...

trotzdem danke für eure hilfe, man lernt nie aus :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M <%@ include file. in eine if schleife Java Basics - Anfänger-Themen 2
M include Java Basics - Anfänger-Themen 15
richis-fragen JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
M Verständnisfrage: Warum wird die Datei ohne Inhalt übertragen Java Basics - Anfänger-Themen 3
D Inhalt eines Arrays ausgeben Java Basics - Anfänger-Themen 7
javapingu Jeglichen Inhalt einer Textdatei nach Zeile n löschen Java Basics - Anfänger-Themen 8
K Ein Objekt Auto kennt den Inhalt seines links und rechtsstehenden Autos, wie soll man das ermöglichen Java Basics - Anfänger-Themen 2
Ameise04 Variablen Inhalt einer Variable im Code verwenden? Java Basics - Anfänger-Themen 9
I String ersetzen, der Inhalt enthält Java Basics - Anfänger-Themen 4
T Inhalt aus TextField in Attribut einer Instanz schreiben Java Basics - Anfänger-Themen 5
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 9
F Erstellen zweier Objekte mit dem selben Inhalt Java Basics - Anfänger-Themen 1
N den inhalt eines array per funktion ausgeben Java Basics - Anfänger-Themen 8
X TextField-Inhalt mit Button in .txt-Datei speichern Java Basics - Anfänger-Themen 16
J Datentypen CSV to DB Leere Zellen in CSV mit Inhalt? Java Basics - Anfänger-Themen 11
H Universitätsaufgabe String inhalt Kontrollieren Java Basics - Anfänger-Themen 9
karlmasutra OOP Inhalt eines Array ausgeben lassen Java Basics - Anfänger-Themen 8
C Vector-Inhalt in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 6
D Ich suche nach einer Möglickeit den Webseiten Inhalt per Java zu analysieren Automatisch Java Basics - Anfänger-Themen 3
L Namensliste mit Array zeigt nicht den gewünschten Inhalt Java Basics - Anfänger-Themen 12
F Variablen JTextField-Inhalt kann nicht mit String abgeglichen werden Java Basics - Anfänger-Themen 2
Zeekay Development Methoden Methoden Inhalt Abhängig vom Objekt? Java Basics - Anfänger-Themen 9
B BufferedReader gibt Datei-Inhalt doppelt aus Java Basics - Anfänger-Themen 3
M Ordner mit Inhalt löschen Java Basics - Anfänger-Themen 7
R getrennte Objekte aus Klasse erstellen : warum Inhalt dann gleich ? Java Basics - Anfänger-Themen 2
Silvascus Inhalt eines externen Textdokuments an einen String übergeben Java Basics - Anfänger-Themen 2
F Inhalt einer Variable auswerten, die sich immer wieder ändert Java Basics - Anfänger-Themen 1
K Variablenname soll der Inhalt vom String sein Java Basics - Anfänger-Themen 2
O Zip-File Inhalt einlesen Java Basics - Anfänger-Themen 3
S Inhalt aus anderen Klassen verwenden Java Basics - Anfänger-Themen 1
H Input/Output Inhalt einer GUI in Textdatei speichern Java Basics - Anfänger-Themen 1
M Wie gebe ich den Inhalt aus? Java Basics - Anfänger-Themen 17
K Inhalt von einer csv-Datei abspeichern Java Basics - Anfänger-Themen 3
P Seite auf Inhalt prüfen Java Basics - Anfänger-Themen 2
U Inhalt von JTextfield an andere Klasse weitergeben Java Basics - Anfänger-Themen 13
Uzi21 jTable / Inhalt speichern Java Basics - Anfänger-Themen 2
T CSV auf Inhalt und Zeilen überprüfen Java Basics - Anfänger-Themen 2
S Inhalt von JPanel erst nach Resize sichtbar Java Basics - Anfänger-Themen 2
T Aufgerufene Methode Inhalt der übergebenen Referenz Java Basics - Anfänger-Themen 5
1 den Inhalt eines Arrays umdrehen Java Basics - Anfänger-Themen 11
A Leere Datei wird ohne Inhalt geschrieben, obwohl Inhalt geschrieben wurde. Java Basics - Anfänger-Themen 4
K Inhalt in den Zwischenspeicher legen Java Basics - Anfänger-Themen 2
kaoZ Input/Output Verzeichnis Inhalt in combobox ausgeben Java Basics - Anfänger-Themen 8
G JTable: Inhalt einer selektierten Zeile speichern Java Basics - Anfänger-Themen 2
G Inhalt einer JTextArea wird nicht dargestellt Java Basics - Anfänger-Themen 8
J Inhalt in einem Text-File finden und in ein Array schreiben Java Basics - Anfänger-Themen 5
R Inhalt vom String größer oder kleiner als Java Basics - Anfänger-Themen 16
F Erste Schritte if Inhalt Java Basics - Anfänger-Themen 7
C Erste Schritte String-INhalt in TXT ausgeben Java Basics - Anfänger-Themen 7
L Split + Zeilen einer Datei mit bestimmtem Inhalt löschen Java Basics - Anfänger-Themen 23
U OOP Array vom Typ String > Inhalt ausgeben Java Basics - Anfänger-Themen 8
M Array Inhalt kopieren Java Basics - Anfänger-Themen 3
O Container Inhalt auslesen Java Basics - Anfänger-Themen 2
M Inhalt/Wert aus einer JList ablesen Java Basics - Anfänger-Themen 5
M String auf Inhalt überprüfen Java Basics - Anfänger-Themen 11
H Mehrdimensionales Array - Inhalt auf Null überprüfen Java Basics - Anfänger-Themen 5
B Datentypen Inhalt von Objekten miteinander vergleichen Java Basics - Anfänger-Themen 2
I Mehrere ArrayLists mit einer for( : ) Schleife auf Inhalt prüfen Java Basics - Anfänger-Themen 6
R Erste Schritte Objekte mit anderen Objekten als Inhalt Java Basics - Anfänger-Themen 4
F Kopieren von Ordner sammt inhalt Java Basics - Anfänger-Themen 5
I Datei einlesen, Inhalt in MAP ablegen Java Basics - Anfänger-Themen 10
E Inhalt von Option Feldern auslesen? Java Basics - Anfänger-Themen 2
Helgon Inhalt - Aktualisierungs Problem Java Basics - Anfänger-Themen 7
T Inhalt Gridlayout wird nicht angezeigt Java Basics - Anfänger-Themen 6
O Variablen Variablen Inhalt von Webseite einlesen!? Java Basics - Anfänger-Themen 2
M Inhalt eines Strings um eins hochzählen Java Basics - Anfänger-Themen 19
M String Inhalt wird überschrieben (Subklassen verwenden denselben String) Java Basics - Anfänger-Themen 13
Gossi Input/Output Datei Lesen, inhalt abfragen, speichern Java Basics - Anfänger-Themen 5
B jar Inhalt anzeigen Java Basics - Anfänger-Themen 5
H Input/Output Inhalt einer TextArea in Hex umwandeln Java Basics - Anfänger-Themen 10
D Textfile lesen/schreiben abhängig vom inhalt Java Basics - Anfänger-Themen 6
J Inhalt eines Arrays vergleichen? Java Basics - Anfänger-Themen 8
X Collections Inhalt von zwei Collections prüfen Java Basics - Anfänger-Themen 4
D jTable befüllen mit dynamischem Inhalt Java Basics - Anfänger-Themen 11
M Inhalt Textfeld prüfen Java Basics - Anfänger-Themen 4
H Java-Fenster ohne Inhalt Java Basics - Anfänger-Themen 2
D Inhalt der Spalten einer Tabelle addieren Java Basics - Anfänger-Themen 4
B Datentypen Inhalt zum Iterator wieder aufrufen? Java Basics - Anfänger-Themen 10
E Inhalt zwischen zwei String auslesen? Java Basics - Anfänger-Themen 8
S Inhalt eines Vektors ausgeben Java Basics - Anfänger-Themen 2
F String-Inhalt als Datatype-Name Java Basics - Anfänger-Themen 5
D Inhalt einer Liste auf nur ein Wert überprüfen ohne die Liste komplett zu interieren Java Basics - Anfänger-Themen 6
M Tabelle mit immer sortiertem Inhalt Java Basics - Anfänger-Themen 5
S JFileChooser - Dateinamen vorschlagen/Inhalt der Ausgabe prüfen Java Basics - Anfänger-Themen 3
J JList Inhalt nach JButton Klick aktualisieren Java Basics - Anfänger-Themen 8
C Inhalt eines Strings in JLabel ausgeben? Java Basics - Anfänger-Themen 21
L Inhalt von JEditorPane löschen Java Basics - Anfänger-Themen 4
G Inhalt Jar-Files anzeigen, incl. Methoden Java Basics - Anfänger-Themen 2
D HashMap mit Inhalt kopieren Java Basics - Anfänger-Themen 8
M [J3D] Applet-Inhalt Speichern (Manipulationen etc. ...) Java Basics - Anfänger-Themen 2
X JTable --> Spaltenbreiter am dargestellten Inhalt anpassen Java Basics - Anfänger-Themen 4
C JPanel Inhalt anpassen Java Basics - Anfänger-Themen 4
P Objekte im Array speichern und auf den Inhalt zugreifen ? Java Basics - Anfänger-Themen 4
S Inhalt von GUI-Eingabe drucken Java Basics - Anfänger-Themen 7
Sweety JTable Inhalt löschen Java Basics - Anfänger-Themen 10
O OOP FileOutputStream überschreibt ganzen inhalt der txt Java Basics - Anfänger-Themen 4
K Inhalt eines Elements aus dem Objekt Array auslesen Java Basics - Anfänger-Themen 9
B mehrer comboboxes mit dem selben inhalt befüllen Java Basics - Anfänger-Themen 8
B Inhalt einer Datei ausgeben Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben