JSP页面是否知道自己的文件名?

时间:2012-01-05 20:46:33

标签: jsp

然后将注释或隐藏变量作为自己的JSP页面的一部分,是否可以通过编程方式找出它是什么?

如果是这样,我如何在JSP中引用自己的文件名?

1 个答案:

答案 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(使用下划线而不是句点)。这可能会或可能不足以将代码紧密耦合到特定容器。