2016-08-31 2 views
0

Ich habe festgestellt, dass beim Ändern einer enthaltenen Datei, wenn ich die Include-Action-Tag verwenden, dann die Änderung spiegelt sich in der einschließlich Jsp. Aber wenn ich die include-Direktive verwende, dann wird die Änderung nicht im include-Jsp reflektiert.Unterschied zwischen JSP enthalten Aktionstag und JSP enthalten Direktive

Allerdings habe ich festgestellt, dass die Änderung spiegelt sich in der included JSP, ob wir Include-Aktionstag oder Include-Direktive verwenden.

Bitte zeigen Sie mir den Unterschied mit einem Programm.

Antwort

0

Der Inhalt der Direktiven ist Teil der Haupt-JSP während der Übersetzungsphase, dh wenn die JSP in ein gleichwertiges Servlet kompiliert wird. So werden die Inhalte aus dem jsp, die eine directive-Komponente enthalten, zu dem übersetzenden jsp zum Übersetzungszeitpunkt zusammengeführt, was nur einmal vorkommt. Diese Include-Anweisung sollte hauptsächlich dazu dienen, die Header und Fußzeilen zu adressieren, die meist statisch sind und nicht oft geändert werden.

Das Include-Action-Tag hingegen dient dazu, dynamische Inhalte einzuschließen, dh Sie können einen Parameter an das Tag senden, das dieses Tag verarbeiten und anzeigen kann. Dies ist anders als die Kopf- und Fußzeilen, die immer wieder den gleichen Inhalt zeigen.

main.jsp

<jsp:include page="included.jsp"> 
    <jsp:param name="message" value="World" /> 
</jsp:include> 

Included.jsp

<html> 
<head> 
</head> 
<body> 
<h2>Hello <%=request.getParameter("message") %></h2> 
</body> 
</html> 

auch, was Server verwenden Sie. Seit Tomcat7 haben sich die Dinge geändert und das Hauptjsp wird auch kompilieren, wenn das eingeschlossene jsp (durch irgendeinen Mechanismus) geändert wird. dieses link hat mehr Details.

Verwandte Themen