在JSP中 简述指令方式文件包含和动作文件包含的区别

如题所述

一、include指令:

Jsp页面通过include指令来包含其他文件。它是在JSP编译时插入一个包含文本或代码的文件,这个包含过程是静态的包含,即被包含的文件会被插入到JSP文件中去。这个包含的文件可以是JSP文件、HTML文件或文本文件,如果包含的是JSP文件,那么该JSP文件中的代码会被执行。

JSP语法如下:

<%@ include file=”URL” %>

在一个WEB应用中,当多个JSP页面包含相同内容时,可以把相同的部分单独放在一个文件中,然后通过include指令包含该文件,这样如果需要修改,就不必一个一个文件地修改,提高代码开发的效率和程序的可维护性,例如网页上的logo和底部的版权声明等,都可以做成一个文件,其他文件包含该文件就可以了,这样页面就有了比较统一的风格!

注意:在这个包含的文件中不要使用<html>、</html>、<body>、</body>标记,因为这将会影响在原JSP文件中同样的标记,有时会导致错误。

二.include动作
jsp:include动作是在主页面被请求时,将次级页面的输出包含进来。尽管被包含的页面的输出中不能含有JSP,但这些页面可以是其他资源所产生的 结果。服务器按照正常的方式对指向被包含资源的URL进行解释,因而这个URL可以是Servlet或JSP页面。服务器以通常的方式运行被包含的页面, 将产生的输出放到主页面中,这种方式与RequestDispatcher类的include方法一致。它的优点是在被包含的页面发生更改时,无须对主页 面做出修改。它的缺点是所包含的是次级页面的输出,而非次级页面的实际代码,所以在被包含的页面中不能使用任何有可能在整体上影响主页面的JSP构造。

语法: <jsp:include page="sample.jsp" flush="true"> <jsp:param name="name" value="value"/> </jsp:include>

其中参数设置可以没有,如果没有参数设置,则必须采用<jsp:include page="sample.jsp" flush="true"/>形式
温馨提示:答案为网友推荐,仅供参考