Puis-je importer mes propres jsp page dans une autre page jsp..?
J'ai préparé une page html statique à l'aide de netbeans.
Puis-je importer cette page dans une autre page afin de ne pas ré-écrire le code à nouveau n nouveau et ensuite faire les modifications.
Vous pouvez intégrer une page JSP dans un autre en utilisant include directive comme celle - ci,
<%@ include file="/path/to/yourfile.jsp" %>
ou en utilisant <jsp:include> norme action comme celle -
<jsp:includepage="/path/to/yourfile.jsp"/>
À partir de deux approches ci-dessus, la première fois pour cause le contenu de yourfile.jsp être inclus à la page de traduction en temps. C'est, lorsque la page est traduite en une véritable classe de servlet, le contenu de yourfile.jsp sera inclus dans la servlet. Donc, cette intégration ne se fera qu'une fois, à la traduction de la page du temps qui ne se produit que sur la première demande de l'utilisateur une fois que votre application est en place.
Si vous utilisez la deuxième méthode, puis sur demande de l'utilisateur la réponse de la yourfile.jsp sera inclus au moment de l'exécution, plutôt qu'à la page de traduction en temps.
Lorsque vous utilisez include directive, vous avez essentiellement de copier et de coller le contenu du fichier cible dans le fichier principal. Si le fichier cible contient toutes les balises ou EL qui a généré un contenu dynamique, alors ils seront également devenir une partie du fichier principal et elles s'exécutent en conséquence et générer du contenu dynamique. Pas de problème.
Mais cette approche présente certaines limites. Par exemple, une page qui a été inclus à l'aide de include ne peut pas modifier le code d'état de réponse ou de définir des en-têtes qui signifie que vous ne pouvez pas appeler addCookies() ou une autre en-tête de la méthode de détermination de yourfile.jsp. Vous n'obtiendrez pas une erreur si vous le faites cependant, vous ne obtenez pas ce que vous espérez pour. Si vous utilisez <jsp:include> puis tous ces éléments peuvent être fait dans la page et ils vont travailler en conséquence.
Une autre distinction importante existe entre ces deux approches. Supposons que vous voulez inclure un fichier qui a un peu sensible au contexte des textes qui changent en fonction de la page dans laquelle ils sont inclus. Avec le include approche, vous ne serez pas en mesure d'accomplir ceci avec élégance. Mais avec le <jsp:include> approche, vous pouvez le faire -
ce qui signifie que vous spécifiez un nouveau paramètre de la requête pour yourfile.jsp, que vous pouvez ensuite accéder à partir de ce fichier et de le rendre en conséquence -
avec le include approche, vous ne serez pas en mesure d'accomplir cette tâche.
Que l'on devrait vous utilisation purement dépend de votre choix de conception.
Vous devriez vous rappeler une autre chose - à la fois de ces approches comprennent le contenu du fichier cible dans le fichier principal, bien que de façon différente. Donc si deux d'entre eux contient des éléments html comme <html> ou <body>, alors vous allez vous retrouver avec deux <html> et deux <body> éléments lors de la finale de rendu de la page, ce qui ne sera pas valide.
Pour plus d'informations, vous pouvez prendre un coup d'oeil à ici et ici.
Modifier
Il y a une troisième manière d'inclure une page à l'aide de JSTL. Vous pouvez utiliser import JSTL balise pour ce but -
<%--You need to declare this at the top of your jsp page--%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
...............
...............
<c:importurl="/path/to/yourfile.jsp"/>
Cette approche fonctionne exactement de la même manière que <jsp:include>, sauf que c'est un peu plus puissant. Vous pouvez inclure le contenu d'une page qui est en dehors de votre répertoire d'application, même en dehors de votre conteneur de trop! Comme un exemple -
<c:importurl="http://www.google.com"/>
cette ligne inclura le contenu HTML de la google en page d'accueil.
Si vous avez besoin de passer des paramètres à votre inclus la page d' <jsp:include>, alors vous pouvez utiliser param tag -
Vous pouvez intégrer une page JSP dans un autre en utilisant
include
directive comme celle - ci,ou en utilisant
<jsp:include>
norme action comme celle -À partir de deux approches ci-dessus, la première fois pour cause le contenu de
yourfile.jsp
être inclus à la page de traduction en temps. C'est, lorsque la page est traduite en une véritable classe de servlet, le contenu deyourfile.jsp
sera inclus dans la servlet. Donc, cette intégration ne se fera qu'une fois, à la traduction de la page du temps qui ne se produit que sur la première demande de l'utilisateur une fois que votre application est en place.Si vous utilisez la deuxième méthode, puis sur demande de l'utilisateur la réponse de la
yourfile.jsp
sera inclus au moment de l'exécution, plutôt qu'à la page de traduction en temps.Lorsque vous utilisez
include
directive, vous avez essentiellement de copier et de coller le contenu du fichier cible dans le fichier principal. Si le fichier cible contient toutes les balises ou EL qui a généré un contenu dynamique, alors ils seront également devenir une partie du fichier principal et elles s'exécutent en conséquence et générer du contenu dynamique. Pas de problème.Mais cette approche présente certaines limites. Par exemple, une page qui a été inclus à l'aide de
include
ne peut pas modifier le code d'état de réponse ou de définir des en-têtes qui signifie que vous ne pouvez pas appeleraddCookies()
ou une autre en-tête de la méthode de détermination deyourfile.jsp
. Vous n'obtiendrez pas une erreur si vous le faites cependant, vous ne obtenez pas ce que vous espérez pour. Si vous utilisez<jsp:include>
puis tous ces éléments peuvent être fait dans la page et ils vont travailler en conséquence.Une autre distinction importante existe entre ces deux approches. Supposons que vous voulez inclure un fichier qui a un peu sensible au contexte des textes qui changent en fonction de la page dans laquelle ils sont inclus. Avec le
include
approche, vous ne serez pas en mesure d'accomplir ceci avec élégance. Mais avec le<jsp:include>
approche, vous pouvez le faire -ce qui signifie que vous spécifiez un nouveau paramètre de la requête pour
yourfile.jsp
, que vous pouvez ensuite accéder à partir de ce fichier et de le rendre en conséquence -avec le
include
approche, vous ne serez pas en mesure d'accomplir cette tâche.Que l'on devrait vous utilisation purement dépend de votre choix de conception.
Vous devriez vous rappeler une autre chose - à la fois de ces approches comprennent le contenu du fichier cible dans le fichier principal, bien que de façon différente. Donc si deux d'entre eux contient des éléments html comme
<html>
ou<body>
, alors vous allez vous retrouver avec deux<html>
et deux<body>
éléments lors de la finale de rendu de la page, ce qui ne sera pas valide.Pour plus d'informations, vous pouvez prendre un coup d'oeil à ici et ici.
Modifier
Il y a une troisième manière d'inclure une page à l'aide de JSTL. Vous pouvez utiliser
import
JSTL balise pour ce but -Cette approche fonctionne exactement de la même manière que
<jsp:include>
, sauf que c'est un peu plus puissant. Vous pouvez inclure le contenu d'une page qui est en dehors de votre répertoire d'application, même en dehors de votre conteneur de trop! Comme un exemple -cette ligne inclura le contenu HTML de la google en page d'accueil.
Si vous avez besoin de passer des paramètres à votre inclus la page d'
<jsp:include>
, alors vous pouvez utiliserparam
tag -et d'y accéder de la même manière -
OriginalL'auteur MD Sayem Ahmed
Oui, vous pouvez importer la page jsp dans une autre jsp.
Y compris le Contenu dans une Page JSP
OriginalL'auteur Srikanth Venkatesh
Vous pouvez le faire en suivant ces conseils,
ou
ou
OriginalL'auteur Sudhakar Krishnan