什么是.jspf文件扩展?怎么编译呢?

时间:2010-01-17 12:54:14

标签: java jsp jsp-fragments

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

5 个答案:

答案 0 :(得分:122)

正如其他人所说,.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的第一步。由于它们是静态包含的,因此您可以提取文件的一小部分,而无需提供脚本或变量,从而使页面更易于维护(我想强调,它是第一个步骤;动态包含和taglib通常是更好的长期解决方案)。在重构时,我相信保持片段接近其父文件;这是一个阻止URL的网络服务器变得有用的时候。

答案 1 :(得分:10)

JSP Fragments可以与服务器端包含进行比较。这些片段不是自己编译的,但是在其所包含的页面旁边编译。如果我要根据用户偏好显示不同的页面,我会选择jspf。

答案 2 :(得分:6)

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

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

来源Ibm Infocentre

答案 3 :(得分:4)

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

Sun's developer resources中,在同一个上下文中提到了它们 - JSP片段的命名约定。

答案 4 :(得分:2)

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

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