JSP equivalent to the PHP include() function?
如何使用JSP将一个HTML文件包含到另一个HTML文件中?
1
| <jsp:include page="/include.html"></jsp:include> |
您有两种选择。第一个是<jsp:include>。第二个是<c:import>。 c:标签是JSTL,JavaServer Pages标准标签库。
有什么区别?主要是<jsp:include>在相对于当前页面的同一JAR中插入另一个JSP页面的内容,而<c:import>可以读取绝对或相对URL并在页面上显示这些内容,检索Reader或将内容存储在一个变量。
两者的语法都类似于XML,因此:
1
| <jsp:include page="header.jsp"/> |
或
1
| <jsp:include page="header.jsp"></jsp:include> |
注意:两者都可以带有参数。
- 1.查看文档,看来<jsp:include>会执行OP所要求的;但是,它似乎并不完全类似于PHP的include()。值得注意的是,所包含的文件没有共享相同的全局范围;由包含文件创建的函数/类在包含脚本等中将不可用。而是执行包含脚本并返回输出。
-
弗兰克,您的票在哪里?我进行了第一次投票,但没有看到第二次:)
-
谢谢,所以我上面的示例是正确的语法?
-
@ devils-avacado:是的。 @cletus的编辑:jsp:include和c:import之间的实际区别在于,第一个包含源,第二个包含输出(除了可以从外部URL获取之外)。
-
@cletus或@BalucC,我可以使用任一方法来包含.html,.shtml,.js或.css吗?抱歉,我是JSP的新手。
-
包含的文档是任意的,因此可以是CSS,Javascript或HTML,即通常在HTML文档中可以包含的文档。
对于那些希望与PHP include()或<!--#include file="header.jsp"-->具有相同行为的用户,在JSP中共享了全局范围,请使用以下命令:
1
| <%@include file="header.jsp"%> |
参考:此处