93

JSP 中的 .jspf 文件是什么?据我所知,编译器会寻找 .jsp 文件进行编译,那么 .jspf 文件是如何编译的呢?

4

5 回答 5

130

正如其他人所指出的,.jspf 文件是 JSP 片段。它们被设计为静态包含在另一个 JSP 文件中,而不是自行编译:

<%@include file="/WEB-INF/jspf/example.jspf" %>

您会注意到此示例来自该/WEB-INF/jspf目录。这意味着它不能在 Web 应用程序之外访问;没有办法构造一个可以检索它的 URL。如果将它们与“普通”JSP 文件放在同一目录下,则可以构造这样的 URL;例如,Tomcat 会将页面检索为文本文档。但是,前端 Web 服务器可以阻止这些 URL。

我喜欢将 JSPF 文件作为重构大型 JSP 页面的第一步。由于它们是静态包含的,因此您可以提取文件的一小块而无需提供脚本或变量,从而使页面更易于维护(我想强调,这是第一步;动态包含和标记库通常是更好的长期解决方案)。重构时,我相信片段要靠近它们的父文件;这就是让网络服务器阻止 URL 变得有用的时候。

于 2010-01-17T13:16:52.783 回答
11

JSP 片段可以比作服务器端包含。这些片段不是单独编译的,而是在包含它的页面旁边编译的。如果我必须根据用户偏好显示不同的页面,我会选择 jspf。

于 2011-09-05T16:52:58.620 回答
7

内容: .jspf 文件通常是通过 include 指令包含在 .jsp 文件中的文件。“f”代表“片段”,因为这些文件本身并不是完整的 JSP。

如何编译:由于 .jspf 是 jsp 的片段,因此它可能不是完整且可编译的源代码,因此大多数时候它不能独立于引用它们的另一个完整源代码进行编译。

资料来源IBM 信息中心

于 2012-07-27T09:25:12.923 回答
4

IBM 表示.jspf 用于 JSP 片段。片段可能不是完整且可编译的源,因此它们可能无法独立于引用它们的另一个完整源进行编译。

它们在Sun 的开发人员资源中的相同上下文中提到 - JSP 片段的命名约定。

于 2010-01-17T12:57:57.560 回答
2

在许多 Web 框架中,可以从较小的共享视图和页面组装视图和页面。使用 JSP,这些较小的部分称为片段。顾名思义,如果没有更大的上下文,它们不一定是完整的表示。

其他语言和框架对等价概念有自己的术语。例如,在 Ruby on Rails 中,它们被称为partials

于 2010-01-17T13:01:02.870 回答