JSP页面的静态包含和动态包含使用方法
JSP中有两种包含:静态包含:<%@include file="被包含页面"%>和动态包含:<jsp:include page="被包含页面"flush="true">。下面以一个例子来说明如何使用包含。 实例: 项目文件树: header.jsp文件中内容: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>Insert title here</title> </head> <body> <h1>This is header</</h1> content.jsp文件中内容 <table border="1"> <tr> <td>col1</td> <td>col2</td> </tr> <tr> <td>col1</td> <td>col2</td> </tr> </table> footer.jsp文件中内容: <hr> copyright: 1999-2010 </body> </html> 静态包含: index.jsp文件中内容: <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> <%@ include file="/header.jsp" %> <%@ include file="/content.jsp" %> <%@ include file="/footer.jsp" %> 页面显示结果: 被编译成的java文件: 动态包含 index.jsp文件中内容: <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> <jsp:include page="/header.jsp"></jsp:include> <jsp:include page="/content.jsp"></jsp:include> <jsp:include page="/footer.jsp"></jsp:include> 页面显示结果: 被编译成的java文件: 说明 这个例子,使用静态包含和动态包含最终的执行结果相同,但是实现过程不同,很明显编译成的java文件数目不同。 静态和动态包含的区别与联系 注:下文将包含有其它文件的jsp文件称为主体文件,比如上文中的index.jsp文件。将被包含的文件称为包含文件,比如上文中的header.jsp文件。 <%@ include file=” ”%>是指令元素。<jsp:include page=” ”/>是行为元素最终编译成java文件的数目不同。(从上面的例子可以看出) 静态包含在转换成为java文件的时候将包含文件的内容“复制”到主体文件,然后作为一个整体编译。最终编译为一个java文件。 动态包含是各个jsp文件分别转换,分别编译。最终编程成多个java文件。 执行时间不同 静态包含发生在:JSP---->java文件阶段。 动态包含发生在:执行class文件阶段。动态加入。 静态包含和动态包含的使用 简单总结一下,就一句话:被包含的页面是静态页面就用静态包含,是动态页面就用动态包含。(当然,不是很绝对,但是这样用没有错。) jsp静态包含和动态包含的区别补充: 在jsp中有两种包含,静态包含<%@include file="xxx.jsp"%>和动态包含<jsp:include page="xxx.jsp">,下面说一下它们之间的区别 1、<%@include file="xxx.jsp"%>为jsp中的编译指令,其文件的包含是发生在jsp向servlet转换的时期,而<jsp:include page="xxx.jsp">是jsp中的动作指令,其文件的包含是发生在编译时期,也就是将java文件编译为class文件的时期 2、使用静态包含只会产生一个class文件,而使用动态包含会产生多个class文件 3、使用静态包含,包含页面和被包含页面的request对象为同一对象,因为静态包含只是将被包含的页面的内容复制到包含的页面中去;而动态包含包含页面和被包含页面不是同一个页面,被包含的页面的request对象可以取到的参数范围要相对大些,不仅可以取到传递到包含页面的参数,同样也能取得在包含页面向下传递的参数 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- VB数据库编程怎样将一个表里面的一个字段的记录赋
- 项目后期Lua接入笔记08--Lua面向对象及LuaBehavi
- BI Publiser bursting 邮件附件名称乱码问题
- Perl笔记 硬引用(指针)的创建和应用场景
- perl – 如何使用LWP进行JSON POST请求?
- [bigdata-025] ubuntu 14.04 下用virtualbox安装
- UML建模三个工具: StarUML ,Telelogic TAU 和 Ro
- delphi字符串分隔函数用法实例
- 2. Add Two Numbers(两个大数相加)
- spring – org.hibernate.PersistentObjectExc