Problema

Você está usando a diretiva de inclusão de jsp <%include file= "path"%> em uma das suas páginas JSP. Depois que a página JSP principal estiver compilada, alterações feitas à JSP incluída não serão efetivadas.
 
Por exemplo:
 
Você tem um componente que inclui duas outras páginas JSP: página 1 ("titles") e página 2 ("children"). O componente é definido para começar com

start.jsp:

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

Se você alterar start.jsp, então children.jsp e titles.jsp também serão recompilados. Se você atualizar apenas os JSPs incluídos, eles não serão recompilados.

Solução

Use um mecanismo dinâmico de inclusão. Uma solução possível é usar a tag <cq:include file="path" >. Por exemplo:

<%@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" /> <%}%>

Informações adicionais

<%include file= "path"%> inclui um arquivo estático, analisando os elementos JSP do arquivo. Utilize este tipo de inclusão apenas se a página incluída for estática.

Esta obra está licenciada sob uma licença não adaptada da Creative Commons Attribution-Noncommercial-Share Alike 3.0  As publicações do Twitter™ e do Facebook não são cobertas pelos termos do Creative Commons.

Avisos legais   |   Política de privacidade online