我正在尝试调试包含多层嵌套include的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_u jsp.java语言
请求者:
foo.jsp文件
但是自从
<%@include%>
jsp指令是静态的-内容在翻译时包含,因此所有内容都变为“
福
“。
我真的非常希望不必在我添加的每一个调试行中编辑/硬编码文件名。
有没有人有一个聪明的解决方案来获得jsp的“真实”源文件名…如果它包含在另一个文件中?