它们之间有什么区别吗?
答案 0 :(得分:1)
通常,当我们谈论jsp文件或jsp页面时没有区别,但LuiggiMendoza的一个很好的观察是:
JSP文件是JSP中存储在硬盘中的物理文件 page是从应用程序评估JSP文件的结果 服务器
但使用指令时存在差异:
<jsp:include page="page.html" />
以及<%@include file="page.html"%>
。
你可以找到一篇有趣的帖子:
What is the difference between <jsp:include page = ... > and <%@ include file = ... >?
这里有一个很好的解释:
&lt;%@ include file =“filename”%&gt;是JSP include指令。在JSP 页面翻译时间,包含中给出的文件内容 指令在JSP包含的位置按原样“粘贴” 使用指令。然后将源JSP页面转换为java servlet类。包含的文件可以是静态资源或JSP 页。通常JSP include伪指令用于包含头 横幅和页脚。 JSP编译过程就是源代码 仅当该页面已更改时,才会编译JSP页面。如果有的话 在包含的JSP文件中更改,源JSP文件将不会 编译,因此修改不会反映在 输出
&LT; jsp:include page =“relativeURL”/&gt;是JSP include动作元素。 jsp:include动作元素就像一个函数调用。在运行时, 包含的文件将被“执行”,结果内容将被执行 包含在soure JSP页面中。当包含的JSP页面是 在调用时,请求和响应对象都被传递为 参数。如果需要传递其他参数,那么 可以使用jsp:param元素。如果资源是静态的,则其内容 因为没有处理,所以会插入调用的JSP文件中 需要的。
答案 1 :(得分:1)
我相信以下就是这个意思 -
.jsp
文件,文件系统中的文件。.jsp
文件的结果请在此处查看此答案 - https://stackoverflow.com/a/14763794/738746。
- 醇>
include指令:
<%@ include file="header.html" %>
静态:将文件属性值的内容添加到 翻译时的当前页面。该指令最初是 适用于静态布局模板,如HTML标题。
- 醇>
<jsp:include>
标准操作
<jsp:include page="header.jsp" />
动态:将页面属性值的内容添加到 请求时的当前页面。更适用于动态内容 来自JSP。
答案 2 :(得分:1)
JSP页面是指“顶级JSP文件”,如JSP.1.1.8中所定义:
由客户端直接调用或由另一个页面或servlet动态包含
虽然 JSP文件可能引用一个文件,例如,静态包含该文件。
为了说明您的引用,请考虑以下目录结构:
假设您的index.jsp中有<%@include file="dir/file1.jsp" %>
。如果你将<%@include file="file2.jsp" %>
放在dir / file1.jsp中,它将包含dir / file2.jsp,而如果放入<jsp:include page="file2.jsp" />
,它将包括index.jsp旁边的file2.jsp。
答案 3 :(得分:1)
可以从多个 JSP文件构建单个 JSP页面。
因此JSP页面与JSP文件不同。