然后将注释或隐藏变量作为自己的JSP页面的一部分,是否可以通过编程方式找出它是什么?
如果是这样,我如何在JSP中引用自己的文件名?
答案 0 :(得分:2)
您可以使用
${pageContext.request.servletPath}
获取与JspServlet
匹配的请求/转发URI的一部分。无论JSP是独立请求还是由前端控制器servlet转发,都可以正常工作。
在另一个JSP包含的JSP文件中,改为使用
${requestScope['javax.servlet.include.servlet_path']}
您无法以任何方式获取JSP原始文件名,因为它已生成到servlet类。但是,您可以按如下方式获取生成的servlet类的(simple)类名称:
${pageContext.page['class'].simpleName}
当使用Jasper作为JSP编译器时(如在Tomcat和克隆中使用的那样),默认为filename_jsp
(使用下划线而不是句点)。这可能会或可能不足以将代码紧密耦合到特定容器。