JSP页面的动态包含和静态包含示例及介绍

这篇文章主要介绍了JSP页面的动态包含和静态包含示例及介绍,本文讲解了它们的区别并给出了相应例子,需要的朋友可以参考下

一、静态包含

本文介绍JSP静态包含语句,即使用JSP的include指令来完成的包含操作。
JSP中,有两种包含其它文件的方式,一种是静态包含,一种是动态包含。本文介绍其中的静态包含。

所谓静态包含,跟ASP中的包含是一样的效果,即将所有包含的文件,先静态的包含进来,组成一个大的JSP文件,然后再经过编译器统一编译,生成HTML代码。

JSP静态包含的语句为:

复制代码 代码如下:

<%@ include file="file.jsp" %>

这里的file.jsp就是要包含的文件,这里可以使用目录进行包含,可以是相对目录,可以是绝对路径。

JSP静态包含时,需要注意编码的问题。

在JSP文件中,我们必须指定页面的contentType为GBK、GB2312、UTF-8等才能在文档里面输入中文。如下:

复制代码 代码如下:

<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK" %>

但这里务必注意,当这个文件被静态包含时,它的编码如果跟包含它的文件的编码有一点点不一致,都会报错。所以,如果要静态包含,一定要把这两个文件的编码这一句(即contentType)确保完全一致。

二、动态包含

在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动态包含不是使用的一个指令,而是使用的一个标签,如下:

复制代码 代码如下:
<jsp:include page="file.jsp" />

或者:
复制代码 代码如下:

<jsp:include page="file.jsp">
<jsp:param name="p1" vlaue="v1" />
</jsp:include>

上面两种语句并没有本质的区别,只是前者是一个简单的包含,而后者可以给被包含页面传递参数而已。参数传递到被包含页面时,可以使用request.getParameter("参数名")的方式来获取。

大家知道在asp中,如果使用include包含语句,那么被包含的文件上是不能带参数的。所以,在asp中的包含是跟jsp中的静态包含一样的。


参考出处 : http://www.jb51.net/article/53659.htm

1.编写一个JSP程序,计算1!+2!+3!+4!+5!,并显示出结果。要求先声明计算阶乘的方法,再调用该方法,最后在页面上输出结果。2.2、在JSP页面静态包含文件。要求程序包含两个文件,主文件静态包含一个能够计算1到1000内的完数的页面。(如果一个正整数刚好等于它的真因子之和,这样的正整数为完数, 例如,6=1+2+3,因此6就是一个完数。)3.动态包含页面并传递数据。要求程序包含两个文件,主文件(actioninclude)加载次文件(redirection),并将随机产生的50~100之间的数据传递给它,并且在页面上显示两个信息:该数据和这个数据的平方根。进阶要求,把动态包含改为动态重定向,比较两者之间的区别。4.本题包括4个JSP程序,one.jsp、two.jsp、three.jsp、error.jsp。 one.jsp具体要求如下:要求one.jsp页面有一个表单,用户使用该表单可以输入一个1至100之间的整数,并提交给下一个页面;如果输入的整数在50至100之间(不包括50)就转向three.jsp,如果在1至50之间就转向two.jsp;如果输入不符合要求就转向error.jsp。要求forward标记在实现页面转向时,使用param子标记将整数传递到转向的two.jsp或three.jsp页面,将有关输入错误传递到转向的error.jsp页面 two.jsp、three.jsp和error.jsp的具体要求如下: 要求two.jsp和three.jsp能输出one.jsp传递过来的值,并显示一幅图像,该图像的宽和高刚好是one.jsp页面传递过来的值。error页面能显示有关抛出的错误信息。(程序中使用的图片,可自行准备)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值