ChatGPT解决这个技术问题 Extra ChatGPT

什么是 .jspf 文件扩展名?如何编译它? [复制]

这个问题在这里已经有了答案:JSP 的文件名包含指令以避免编译它们(1 个答案)4 年前关闭。

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

除了这里的答案更完整,那里接受的答案就在这里。
有趣的是,这被标记为已接受答案指向该问题的问题的重复问题。检测到循环依赖:D。还值得一提的是,这个问题比另一个问题早 2 年发布

k
kdgregory

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

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

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

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


大声笑,已经需要提醒,召回。
k
kodepet

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


v
vmishra

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

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

来源Ibm Infocentre


S
Simon Lieschke

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

它们在 Sun's developer resources 中的相同上下文中提及 - JSP 片段的命名约定。


仅供参考,链接现在已失效或无关紧要。
J
John Feminella

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

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