Enthaltene JSP-Seiten werden nicht neu kompiliert.

Problem

Sie verwenden die jsp-Include-Direktive <%include file= "path"%> in einer Ihrer JSP-Seiten. Nachdem die JSP-Hauptseite kompiliert wurde, werden Änderungen an der eingebundenen JSP nicht mehr wirksam.   Beispiel:   Sie haben Komponente, die zwei weitere JSP-Seiten enthält: Seite 1 ("title") und Seite 2 (die untergeordneten Elemente). Die Komponente ist so definiert, dass sie mit

start.jsp:

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

Wenn Sie start.jsp ändern, werden auch children.jsp und titles.jsp neu kompiliert. Wenn Sie nur die enthaltenen JSPs aktualisieren, werden sie nicht neu kompiliert.

Lösung

Verwenden Sie einen dynamischen Include-Mechanismus. Eine mögliche Lösung ist die Verwendung von <cq:include file="path"> tag. Beispiel:

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

Weitere Informationen

<%include file= "path"%> enthält eine statische Datei, die die JSP-Elemente der Datei analysiert. Verwenden Sie diesen include nur, wenn die eingeschlossene Seite statisch ist.

 Adobe

Schneller und einfacher Hilfe erhalten

Neuer Benutzer?

Adobe MAX 2024

Adobe MAX
Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX

Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX 2024

Adobe MAX
Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX

Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online