Я пытаюсь выполнить отладку файлов JSP, которые включают несколько уровней вложенных включений.
e.g.
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 ... если оно @included в другом файле?
<jsp:include>- person Teja Kantamneni   schedule 05.02.2010@include- время компиляции,<jsp:include>- время выполнения. - person BalusC   schedule 07.02.2010