Incluir otro archivo JSP

Actualmente estoy tratando de aprender JSP. Mi pregunta es, en este momento solía incluir el encabezado y pie de página de la página usando:

 

y

  

Pero ahora, he separado el contenido de la página también. Entonces, si el usuario hace clic en una página, digamos productos, tiene que cargar el archivo JSP que se encuentra en: includes/pages/products.jsp Entonces, el enlace al usuario es como: Products .

Entonces, tengo que obtener el valor de p y mostrar la página en función de él.

Lo siguiente es lo que he hecho hasta ahora.

    

Entonces, ¿cómo coloco el valor de la variable “p” en la posición de “page_name”?

O, ¿hay algún otro método que pueda usar?

En PHP, podríamos usar include() o include_once() . Estoy un poco atrapado en esta JSP. 🙁

Lo que estás haciendo es una inclusión estática. Una inclusión estática se resuelve en tiempo de comstackción y, por lo tanto, no puede usar un valor de parámetro, que solo se conoce en el momento de la ejecución.

Lo que necesita es una dinámica incluyen:

  

Tenga en cuenta que debe usar JSP EL en lugar de scriptlets. También parece que está implementando un controlador central con index.jsp. Debería usar un servlet para hacer eso en su lugar, y enviarlo al JSP apropiado desde este servlet. O mejor, utilice un marco MVC existente como Stripes o Spring MVC.

Puedes usar parámetros como ese

    

y

en about.jsp puedes tomar el parámetro

 < %String leftAds = request.getParameter("articleId");%> 

Puedes usar Incluir Directivas

 < % if(request.getParameter("p")!=null) { String p = request.getParameter("p"); %> < %@include file="<%="includes/" + p +".jsp"%>"%> < % } %> 

o JSP Include Action

 < % if(request.getParameter("p")!=null) { String p = request.getParameter("p"); %> "/> < % } %> 

la directiva include es diferente incluye un archivo durante la fase de traducción. mientras que JSP Include Action incluye un archivo en el momento en que se solicita la página

Recomiendo Spring MVC Framework como su controlador para manipular cosas. usa el patrón url en lugar del parámetro.

ejemplo:

 www.yourwebsite.com/products 

en lugar de

 www.yourwebsite.com/?p=products 

Mira este video Spring MVC Framework

En el momento de la traducción de la página, el contenido del archivo proporcionado en la directiva de inclusión se ‘pega’ tal como está, en el lugar donde se utiliza la directiva de inclusión de JSP. Luego, la página fuente JSP se convierte en una clase de servlet java. El archivo incluido puede ser un recurso estático o una página JSP. Generalmente, la directiva de inclusión JSP se usa para incluir encabezados y pie de página.

Sintaxis para incluir un archivo jsp:

 < %@ include file="relative url"> 

Ejemplo

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

1. Products cuando el usuario hace clic en el enlace Productos, puede llamar directamente a products.jsp.

Quiero decir que puedes mantener el nombre del archivo JSP igual que el parámetro Valor.

 < % if(request.getParameter("p")!=null) { String contextPath="includes/"; String p = request.getParameter("p"); p=p+".jsp"; p=contextPath+p; %> < %@include file="<%=p%>" %> < % } %> 

o

2. puede mantener el archivo de recursos externo con clave, pares de valores. como abajo

products : products.jsp

customer : customers.jsp

puede recuperar programáticamente el nombre del archivo JSP del archivo de propiedades.

De esta manera, puede cambiar fácilmente el nombre del archivo JSP