Las páginas JSP incluidas no se recompilan

Problema

Está utilizando la directiva <%include file= "path"%> en una de sus páginas JSP. Después de compilar la página principal de JSP, los cambios en el JSP incluido no tienen efecto.   Por ejemplo:   Usted tiene un componente que incluye otras dos páginas del JSP: la página 1 ("titles") y la página 2 ("children"). El componente se define para empezar con

start.jsp:

... <% String[] selector = cqReq.getSelectors(); if (selector.length>0) { if (selector[0].equals("child")) { %> <%@ include file="children.jsp" %> <% } } else {%> <%@ include file="titles.jsp" %> <% } ... %>

Si cambia start.jsp, también se recompilan children.jsp y titles.jsp. Si sólo actualiza los JSPs incluidos, no se recompilan.

Solución

Utilice un mecanismo de inclusión dinámico. Una posible solución es utilizar la etiqueta <cq:include file="path" >. Por ejemplo:

<%@page import="com.day.cq.delivery.DeliveryHttpServletRequest"%>

<%@ taglib uri="/cqtlb" prefix="cq" %>

<cq:setpath name="/apps/designground/templates/test" />

<%

DeliveryHttpServletRequest cqReq = (DeliveryHttpServletRequest)request; String[] selector = cqReq.getSelectors();

if (selector.length>0) {

if (selector[0].equals("child")) {

%>

<cq:insertfile name="children.jsp" />

<% }

} else { %>

<cq:insertfile name="titles.jsp" /> <%}%>

Información adicional

<%include file= "path"%> incluye un archivo estático, analizando los elementos JSP del archivo. Utilice este tipo de include solo si la página incluida es estática.

 Adobe

Obtén ayuda de forma más rápida y sencilla

¿Nuevo usuario?

Adobe MAX 2024

Adobe MAX
La conferencia de creatividad

Del 14 al 16 de octubre en Miami Beach y en línea

Adobe MAX

La conferencia de creatividad

Del 14 al 16 de octubre en Miami Beach y en línea

Adobe MAX 2024

Adobe MAX
La conferencia de creatividad

Del 14 al 16 de octubre en Miami Beach y en línea

Adobe MAX

La conferencia de creatividad

Del 14 al 16 de octubre en Miami Beach y en línea