<jsp:include page=""/> action和<c:import url=""/> jstl tag都是动态加载。但是c:import则更为灵活。jsp:include只能include当前web app下的页面,而c:import则可以从外部容器加载内容。
动态加载和静态加载最根本的不同在于,jsp生成的servlet的不同。在tomcat下静态(include directive)和动态(include action)的_jspService()代码如下:
- out.write(“<html><body>\r”);
- <span style="font-family: webdings;">out.write(“\r<html>\r<body>\r<img src=\”images/Web-Services.jpg\” >
- <br>\r<em><strong>We know how to make SOAP suck less.</strong></em> <br>\r\r
- </body>\r</html>\r”);</span>
-
-
- out.write(“\r<br>\r\r\r<em>We can help.</em> <br><br>\r\rContact us at: “);
- out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.
- proprietaryEvaluate(“${initParam.mainEmail}”, java.lang.String.class,
- (PageContext)_jspx_page_context, null, false));
- out.write(“\r\r\r</body></html>”);
而动态的则是:
- out.write(“<html><body>\r”);
- <span style="font-family: webdings;">org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response,
- “Header.jsp”, out, false);</span>
-
-
- out.write(“\r<br>\r\r\r<em>We can help.</em> <br><br>\r\rContact us at: “);
- out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.
- proprietaryEvaluate(“${initParam.mainEmail}”, java.lang.String.class,
- (PageContext)_jspx_page_context, null, false));
- out.write(“\r\r\r</body></html>”);
可以看到静态的是将要include的页面直接写在了servlet里面,这样当servlet生成之后,就不能修改了。动态的则不同,运行时才会导入页面。
另外jsp:include和c:import可以分别使用jsp:param和c:param来设置参数来控制要include的页面。
包含进来的jsp中操作cookie,只能使用include指令才能使用包含进来的jsp的response操作cookie
分享到:
相关推荐
7.4、设置属性:<jsp:setProperty> 7.4.1、设置指定的属性 7.4.2、指定设置属性的参数 7.4.3、为属性设置具体内容 7.5、取得属性:<jsp:getProperty> 7.6、JavaBean的保存范围 7.6.1、page范围的JavaBean ...
7.4、设置属性:<jsp:setProperty> 7.4.1、设置指定的属性 7.4.2、指定设置属性的参数 7.4.3、为属性设置具体内容 7.5、取得属性:<jsp:getProperty> 7.6、JavaBean的保存范围 7.6.1、page范围的JavaBean ...
23、<c:set>和<c:remove> 的用法 24、<c:import> 的用法 25、jsp-include的用法 26、汉字处理 27、网页重定向 28、自动更新网页 29、存取session 30、<c:redirect> 的用法 31、单选型列表框 32、jsp文件中定义类 33...
7.4、设置属性:<jsp:setProperty> 7.4.1、设置指定的属性 7.4.2、指定设置属性的参数 7.4.3、为属性设置具体内容 7.5、取得属性:<jsp:getProperty> 7.6、JavaBean的保存范围 7.6.1、page范围的JavaBean ...
7.4、设置属性:<jsp:setProperty> 7.4.1、设置指定的属性 7.4.2、指定设置属性的参数 7.4.3、为属性设置具体内容 7.5、取得属性:<jsp:getProperty> 7.6、JavaBean的保存范围 7.6.1、page范围的JavaBean ...
7.4、设置属性:<jsp:setProperty> 7.4.1、设置指定的属性 7.4.2、指定设置属性的参数 7.4.3、为属性设置具体内容 7.5、取得属性:<jsp:getProperty> 7.6、JavaBean的保存范围 7.6.1、page范围的JavaBean ...
7.4、设置属性:<jsp:setProperty> 7.4.1、设置指定的属性 7.4.2、指定设置属性的参数 7.4.3、为属性设置具体内容 7.5、取得属性:<jsp:getProperty> 7.6、JavaBean的保存范围 7.6.1、page范围的JavaBean ...
7.4、设置属性:<jsp:setProperty> 7.4.1、设置指定的属性 7.4.2、指定设置属性的参数 7.4.3、为属性设置具体内容 7.5、取得属性:<jsp:getProperty> 7.6、JavaBean的保存范围 7.6.1、page范围的JavaBean ...
7.4、设置属性:<jsp:setProperty> 7.4.1、设置指定的属性 7.4.2、指定设置属性的参数 7.4.3、为属性设置具体内容 7.5、取得属性:<jsp:getProperty> 7.6、JavaBean的保存范围 7.6.1、page范围的JavaBean ...
23、<c:set>和<c:remove> 的用法 24、<c:import> 的用法 25、jsp-include的用法 26、汉字处理 27、网页重定向 28、自动更新网页 29、存取session 30、<c:redirect> 的用法 31、单选型列表框 32、jsp文件中定义类 3 ...
第1章 servlet和jsp技术概述 1.1 servlet的功用 1.2 要动态构建网页的原因 1.3 servlet代码初探 1.4 servlet相对于“传统”cgi的优点 1.5 jsp的作用 第1部分 servlet技术 第2章 服务器的安装和配置 ...
)结尾就行 B、一个声明仅在一个页面中有效 C、声明的变量将作为局部变量 D、在预定义中声明的变量将在JSP页面初始化时初始化 27、在JSP中使用<jsp:getProperty>标记时,不会出现的属性就是( C )。 A、name B、...
A、jsp:include B、jsp:useBean C、jsp:setProperty D、jsp:getProperty 19、下面哪个不就是jsp:setProperty操作得属性( D )。 A、name B、param C、property D、scope 20、以下方法...
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% %> <html> <head> </head> <body> 88 <!--server1 这里为 88 --> <br /> <%out.print(request.getSession()) ;%> <!--...
动态INCLUDE用jsp:include动作实现 <jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE用include伪码实现,定不会检查所含文件...
动态INCLUDE用jsp:include动作实现 <jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE用include伪码实现,定不会检查所含文件的...