2017-12-02 3 views
1

Ich entwickle eine Website mit verschiedenen Seiten, die einige gemeinsame Teile teilen, wie das Menü, die Kopfzeile und die Fußzeile.So kombinieren Sie verschiedene JSP-Seiten zu einem ohne Ajax

Also was ich tun möchte, ist diese gemeinsame Komponente nur einmal zu schreiben und sie zu einer einzigen Seite zu kombinieren.

Bis jetzt mache ich etwas, von dem ich sicher bin, dass es nicht der beste Weg ist: Ich erzeuge die jsp-Datei ohne Kopfzeile, Menü und Fußzeile (nur mit ein paar leeren divs) um diese Komponenten zu hosten), und sobald die Seite vom Browser geladen wurde, lade ich jede einzelne gemeinsame Komponente mit AJAX. Aber dies ist nicht so optimiert, weil es zwingt den Browser mehrere HTTP-Anfragen auszuführen, nur um eine einzige Seite zu laden ...

Kennen Sie Jungs, die der beste Weg ist, dies zu tun? Wie eine Möglichkeit, verschiedene jsp-Seiten zu einem einzigen zu kombinieren (auf der Serverseite, all diese Ajax-Aufrufe zu vermeiden). Ich denke an eine Art Skelett von allen Seiten verwendet, die mir helfen, sie zu bauen ...

Ich hoffe wirklich, mich klar gemacht haben

Vielen Dank für Ihre Zeit, Sie/wir sind die beste Gemeinschaft aller Zeiten !!!

Antwort

2

Sie können stattdessen eine Haupt-JSP-Datei haben und verschiedene Teile der Seite in separaten JSP-Dateien trennen und Sie können diese in Ihre Haupt-JSP-Datei als solche aufnehmen (dies ist nur ein Beispiel, aber Sie können verrückt werden, wie Sie es tun Teilen Sie die Seite).

main.jsp

<%@ include file="header.jsp" %> 

<%@ include file="body.jsp" %> 

<%@ include file="footer.jsp" %> 

Und Sie brauchen nicht mehr das Ajax-Aufrufe.

1

In jedem der JSP-Dateien enthalten Header, Menü und Fußzeile wie diese,

<%@ include file="header.jsp" %> 
<%@ include file="menu.jsp" %> 
<!-- 
Your JSP page content 
--> 
<%@ include file="footer.jsp" %> 

diese Weise, wenn Sie etwas wollen in Kopf-/Menü/Fußzeile ändern, wird es an einem Ort sein.

0

Ich fand auch diese Lösung:

<jsp:include page="header.jsp"/> 

Aber Sie haben darauf zu achten, da diese beiden Lösungen unterschiedliche Verhaltensweisen haben.

Hier finden Sie ein

<%@ include file="header.jsp" %> 

spritzt der Inhalt der Datei mit dem Namen in die JSP den Tag enthält, als ob es eingefügt kopiert und wurde. Dies geschieht, bevor der Inhalt der enthaltenen Datei analysiert wird.

Die zweite verhalten sich anders

<jsp:include page="header.jsp"/> 

das Ergebnis der angegebenen Seite Rendering wird an dem Punkt des Tags in die JSP enthält injiziert. Dies geschieht, indem die angeforderte Seite im Wesentlichen an denselben Container gesendet wird, als separate Rendering-Anforderung und die Ergebnisse, nicht der Inhalt der Datei.

Um etwas mehr darüber zu wissen read this, das ist eigentlich die Ressource, wo diese Informationen stammen aus

Verwandte Themen