Question

Je travaille sur une application héritée qui utilise de simples pages JSP qui sont imbriquées en utilisant <jsp:include>.

Pas de cadres sont utilisés -. Simplement JSP et servlets filtres

Quelqu'un peut-il suggérer une façon de tracer les pages JSP sont rendus?

Peut-être il y a un journal, ou peut-être un crochet dans le moteur de rendu (Jasper).

Était-ce utile?

La solution

Créer un filtre qui écoute sur une url-pattern de *.jsp et le régulateur de INCLUDE seulement.

<filter>
    <filter-name>includeFilter</filter-name>
    <filter-class>com.stackoverflow.q2242429.IncludeFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>includeFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>
    <dispatcher>INCLUDE</dispatcher>
</filter-mapping>

Obtenir la page parent par HttpServletRequest#getServletPath() et incluent la page par HttpServletRequest#getAttribute() avec javax.servlet.include.servlet_path clé:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
    throws IOException, ServletException
{
    HttpServletRequest httpreq = (HttpServletRequest) request;
    String parentPage = httpreq.getServletPath();
    String includePage = (String) httpreq.getAttribute("javax.servlet.include.servlet_path");
    // Log it here?

    chain.doFilter(request, response);
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top