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

94

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


1
请参见http://stackoverflow.com/questions/13186448/file-names-for-jsp-include-directive-to-avoid-compilation-of-them,以避免编译它们的JSP包含指令的文件名。 - gavenkoa
除了这里的答案更完整之外,那里被接受的答案也指向了这里。 - dbreaux
1
有趣的是,这被标记为一个重复问题,其已接受的答案指向了这个问题。检测到循环依赖:D。另外值得一提的是,这个问题比另一个问题早两年发布。 - ihebiheb
5个回答

130

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

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

请注意,此示例来自于/WEB-INF/jspf目录。这意味着它在 web 应用程序之外无法访问;无法构建可检索它的 URL。如果将它们放在“普通” JSP 文件所在的同一目录中,您可以构造这样的 URL;例如,Tomcat 将其作为文本文档检索。但是,前端 Web 服务器可以阻止这些 URL。

我喜欢将 JSPF 文件作为重构大型 JSP 页面的第一步。由于它们是静态包含的,您可以提取文件的一小部分而无需考虑脚本或变量,从而使页面更易维护(强调一下,这是一个第一步;动态包含和标签库通常是更好的长期解决方案)。在重构时,我认为将片段保持与其父文件接近很重要;这时拥有一个 Web 服务器以阻止 URL 就非常有用了。


lol,已经需要提醒了,要回忆起来。 - Jackie

12

JSP片段可以与服务器端包含进行比较。这些片段不会单独编译,而是与包含它们的页面一起编译。如果我根据用户偏好显示不同的页面,则会选择jspf。


7

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

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

来源IBM Infocentre


4

IBM表示.jspf是用于JSP片段的。 片段可能不是完整的和可编译的源代码,因此它们很可能无法独立编译,而是需要另一个完整的源代码引用它们。

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


FYI,这些链接现在已经失效或不相关。 - ylun.ca

2
在许多Web框架中,可以从较小的共享视图和页面组装视图和页面。在JSP中,这些较小的部分称为片段。正如名称所示,它们不一定是没有某些更大上下文的完整表示。
其他语言和框架有自己的术语来表示相应的概念。例如,在Ruby on Rails中,它们被称为局部

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接