<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
分享到:
相关推荐
- **动态 INCLUDE**: 使用 `<jsp:include>` 动作实现,总是会检查被包含文件中的变化,适合用于包含动态页面,并且可以传递参数。 - **静态 INCLUDE**: 使用 `<%@ include %>` 伪码实现,不会检查被包含文件的变化,...
开发者可以在JSP中使用脚本元素、指令元素和表达式语言来嵌入Java代码。一个简单的JSP示例如下: ```jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Hello World!...
- **动作元素**:如`<jsp:include>`, `<jsp:param>`, `<jsp:forward>`等,用于实现特定的动作。 ### 示例代码解析 以示例代码为例: ```jsp <%@page language="java" import="java.util.*,java.text.*" ...
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 ...
2. **指令**:用于设置JSP页面的行为,如`<%@ page %>`, `<%@ include %>`, `<%@ taglib %>`. - `<%@ page language="java" import="java.util.*" %>`:指定页面使用的语言及导入的包。 - `<%@ include file=...
23、<c:set>和<c:remove> 的用法 24、<c:import> 的用法 25、jsp-include的用法 26、汉字处理 27、网页重定向 28、自动更新网页 29、存取session 30、<c:redirect> 的用法 31、单选型列表框 32、jsp文件中定义类 3 ...
`<jsp:include>`和`<%@ include %>`都可以用来包含其他JSP页面,但它们的工作方式和应用场景有所不同: - `<jsp:include>`在运行时动态包含页面,适用于需要根据运行时条件动态决定包含页面的情况。 - `<%@ include ...
- JSP指令和动作标签:如`<%@ taglib %>`, `<jsp:include>`, `<jsp:useBean>`等,用于增强页面功能和结构。 - JSTL(JavaServer Pages Standard Tag Library):提供一套标准的标签库,简化JSP开发。 通过这门课程...
- 在指定`page`指令导入JSP页面之前,不能直接使用Java类,但可以通过`<%@ page import="package.className"%>`导入。 15. **JSP动作的作用**: - `<jsp:include>`用于动态地包含一个页面。 - `<jsp:forward>`...
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 ...
- `<jsp:include>`、`<jsp:useBean>`和`<jsp:setProperty>`是JSP动作标签,用于在页面中集成JavaBean和其他资源,而`<JavaBean>`不是标准的JSP标签。 理解这些基础知识对学习Java Web编程至关重要,它们构成了构建...
在 `web.xml` 文件中配置 Servlet,需要定义 `<servlet>` 和 `<servlet-mapping>` 元素。示例: ```xml <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>com.example.MyServlet</servlet-class...