2011-11-16 4 views
3

Je souhaite inclure dynamiquement des pages html dans une page JSP. Je récupère l'URL html de HTML forder et utilise struts2 pour passer la valeur à la page JSP mais je ne peux pas le faire sur JSP en utilisant jsp: include ou @include tags.Inclure dynamiquement le code HTML dans JSP

Par exemple, J'ai une variable html Url like /somepath/variablehtmlname.html dans ma propriété d'action struts. Je veux utiliser ce chemin pour inclure les fichiers html réels situés à l'emplacement/somepath.

+3

Comment exactement '' at-il échoué? Ça devrait marcher. Afficher le code – BalusC

Répondre

2

<%@ include ... %> est évalué lorsque vos pages JSP sont compilées et n'a pas accès à demander des variables (comme Struts 2 propriétés d'action.) Utilisez plutôt <c:import /> ou <s:include />, qui comprennent le contenu sur une base par demande. <jsp:include /> devrait également fonctionner, mais (comme @BalusC demandé) sans le code, nous ne pouvons pas dire pourquoi il ne le fait pas.

Reusing Content in JSP Pages

+1

['<%@ %>' sont des inclusions statiques] (http://java.sun.com/products/jsp/tags/syntaxref.fm6.html#8772) et évalués au moment de la compilation. ['' est une inclusion dynamique] (http://java.sun.com/products/jsp/tags/syntaxref.fm11.html), géré au moment de l'exécution. –

+0

@Dave Newton: Je suis corrigé: http://java.sun.com/products/jsp/tags/12/syntaxref1214.html. Modifier la réponse originale pour refléter cela. Merci! – BobG

1

Je suis d'accord avec la première réponse (BobG). Vous pouvez également simplement faire en sorte que la page JSP serve directement un http forwardTo en utilisant la balise refresh, où le servlet écrit le nouvel emplacement d'URL dans une variable de session: <meta http-equiv="refresh" content="0; URL=<%=htmlSessionLink>" />**

Questions connexes