一、静态包含
本文介绍JSP静态包含语句,即使用JSP的include指令来完成的包含操作。
JSP中,有两种包含其它文件的方式,一种是静态包含,一种是动态包含。本文介绍其中的静态包含。
所谓静态包含,跟ASP中的包含是一样的效果,即将所有包含的文件,先静态的包含进来,组成一个大的JSP文件,然后再经过编译器统一编译,生成HTML代码。
JSP静态包含的语句为:
JSP静态包含时,需要注意编码的问题。
在JSP文件中,我们必须指定页面的contentType为GBK、GB2312、UTF-8等才能在文档里面输入中文。如下:
二、动态包含
在ASP中没有动态包含这一说法,所有的包含都是静态包含。而JSP中,动态包含和静态包含有很大的区别。
本文来说一说JSP中的动态包含。
JSP中的动态包含不同于静态包含,它是在将各个JSP页面分别编译执行后,将大家执行的HTML结果,组合到一起向客户端浏览器输出的一种方式。
什么意思呢?
比如a.jsp,包含了b.jsp和c.jsp。a.jsp是无法共享b.jsp和c.jsp中设置的变量和函数的,也无法共享其逻辑结构。各自是分别编译并执行的。比如a执行后输出"a",b.jsp执行后输出"b",c.jsp执行后输出"c",那么最终将输出"abc"。
JSP动态包含的语法:
JSP动态包含不是使用的一个指令,而是使用的一个标签,如下:
上面两种语句并没有本质的区别,只是前者是一个简单的包含,而后者可以给被包含页面传递参数而已。参数传递到被包含页面时,可以使用request.getParameter("参数名")的方式来获取。
大家知道在asp中,如果使用include包含语句,那么被包含的文件上是不能带参数的。所以,在asp中的包含是跟jsp中的静态包含一样的。