2010-01-13 21 views
7

Solo quiero incluir un archivo HTML en el lado del servidor en otro archivo HTML, usando JSP. PHP no está disponible. Es esto lo que quiero?JSP equivalente a la función PHP include()?

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

¿Lo has probado? ¿Cómo falló? – BalusC

Respuesta

9

Tienes un par de opciones. El primero es <jsp:include>. El segundo es <c:import>. Las etiquetas c: son JSTL, JavaServer Pages Standard Tag Library.

¿Cuál es la diferencia? Principalmente <jsp:include> inserta el contenido de otra página JSP dentro del mismo JAR relativo a la página actual, mientras que <c:import> puede leer en una URL absoluta o relativa y mostrar esos contenidos en la página, recuperar Reader o almacenar los contenidos en una variable.

La sintaxis de ambos es similar a XML por lo que:

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

o

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

Nota: ambos pueden tener parámetros.

+1

+1. Mirando los documentos, parece que hará lo que el OP está pidiendo; sin embargo, no parece ser completamente análogo al include() de PHP. Notablemente, el archivo incluido no comparte el mismo alcance global; las funciones/clases creadas por el archivo incluido no estarán disponibles en el script incluido, etc. En su lugar, ejecuta el script incluido y devuelve el resultado. –

+0

¿Dónde está su voto, Frank? Hice el primer upvote, pero no veo el segundo :) – BalusC

+0

Gracias, ¿así que el ejemplo que tengo arriba es la sintaxis correcta? – mehas

1

Para aquellos que quieren el mismo comportamiento que PHP include() o <!--#include file="header.jsp"-->, la compartida del alcance global en JSP, utilice el siguiente comando:

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

Referencia: Here

Cuestiones relacionadas