2010-01-13 7 views
7

Je veux juste inclure un fichier HTML côté serveur dans un autre fichier HTML, en utilisant JSP. PHP n'est pas disponible. Est-ce ce que je veux?JSP équivalent à la fonction PHP include()?

<jsp:include page="/include.html"></jsp:include> 
+0

Avez-vous essayé? Comment a-t-il échoué? – BalusC

Répondre

9

Vous avez quelques options. Le premier est <jsp:include>. La seconde est <c:import>. Les balises c: sont JSTL, JavaServer Pages Standard Tag Library.

Quelle est la différence? Principalement <jsp:include> insère le contenu d'une autre page JSP dans le même JAR par rapport à la page en cours tandis que <c:import> peut lire dans une URL absolue ou relative et afficher ces contenus sur la page, récupérer un Reader ou stocker le contenu dans une variable.

La syntaxe XML pour les deux est comme si:

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

ou

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

Note: les deux peuvent prendre des paramètres.

+1

+1. En regardant les documents, il semble que fera ce que le PO demande; cependant, il ne semble pas être complètement analogue à PHP include(). Notamment, le fichier inclus ne partage pas la même portée globale; les fonctions/classes créées par le fichier inclus ne seront pas disponibles dans le script inclus, etc. Au lieu de cela, il exécute le script inclus et renvoie la sortie. –

+0

Où est votre vote, Frank? J'ai fait le premier upvote, mais je ne vois pas un second :) – BalusC

+0

Merci, donc l'exemple que j'ai ci-dessus est la syntaxe appropriée? – mehas

1

Pour ceux qui veulent le même comportement que PHP include() ou <!--#include file="header.jsp"-->, avec partage de la portée mondiale en JSP, utilisez la commande suivante:

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

Référence: Here