Я пытаюсь выполнить некоторую отладку файлов JSP, включающих несколько уровней вложенных включений.
, например
foo.jsp
<%@ include file="bar.jsp"%>
bar.jsp
<%@ include file="baz.jsp"%>
baz.jsp
<%@ include file="boz.jsp"%>
Чтобы помочь определить, где на самом деле включен определенный файл, я поместил простую строку для вывода предупреждения javascript в различных файлах, чтобы я мог перехватить его при визуализации страницы.
например. (форматируется на несколько строк для удобства чтения)
<script type="text/javascript">
alert('Accessing File: <%=this.getName()%>' +
'\n\nCompiled as: <%=pageContext.getPage().getClass().getName()%>' +
'\n\nRequested by: <%=request.getRequestURI()%>');
</script>
Таким образом, в идеале, если я добавлю это в baz.jsp
, я хочу видеть:
Доступ к файлу: baz.jsp
Скомпилировано как: _foo__jsp.java
Запрошено: foo.jsp
Однако, поскольку директива <%@include%>
JSP является статической - содержимое включается во время перевода, поэтому все становится " foo ".
Мне бы очень, очень не хотелось редактировать / жестко кодировать имя файла в каждой добавляемой строке отладки.
У кого-нибудь есть умное решение для получения "истинного" исходного имени файла JSP ... если оно включено в другой файл?