两种实现方法:
1,在所有的jsp页面中,写上菜单,页眉,页脚的html代码(显然这样做时不合理的,如果后期要换一下页眉或菜单,那么工作量是很大的)
2 ,在所有的jsp页面中,将菜单,页眉,页脚代码包含进来
包含语句是在jsp中很常用的方法,一般有两种用法,但是很容易混淆。
<%@ include file="uri"%>:可以包含任意文件:
*.txt *.html *.jsp *.inc *.hello
包含的是文件的内容,不会关心文件的类型
注意:include语句可以包含任何内容,但是在有一个jsp页面中,只能有一组<html>,<head>,<body>
原则:在开发中被包含的文件,只写显示部分的HTML代码,主体代码不要出现。
包含的时候不区分文件名称后缀,只是将内容包含进来。
<jsp:include page="uri" / >
---<jsp:include page="uri" flush="true"/ >
或者:
---<jsp:include page="uri" flush="true">
<jsp:param name="参数名" value="参数值" />
< /jsp:include>
jsp中包含了两种包含语句,个人建议使用此种包含语句:
此种语句,与html代码形式很相似:以后成此种语句叫标签指令形式
使用此语句可以像被包含的页面之中传递参数,如果传递参数,则被包含的页面必须是jsp页面,
在jsp中,接受包含语句参数的方法是request.gerParameter("")
如果被包含的页面是jsp文件,则自动进行动态处理
如果被包含的页面时其他非动态的文件,则只是将内容包含进来
%@include file=""% /:试试将页面的内容静态的包含进来,如果被包含的也米昂有jsp代码,则执行此代码,而不管被包含的页面文件后缀如何
<jsp:include />: 如果被包含的文件内容是静态的,则直接将内容包含进来,但是不处理,如果被包含的页面时动态的,则先执行,再包结果包含进来显示
下面系统的总结一下两种include的区别:
--静态的包含页面:不管其内容如何只是将页面中的内容包含进来。
--执行时:像将所有内容包含进来一起处理完之后再将所有的内容发送给客户端
<jsp:include page="uri">:
--动态包含页面:能自动区分所包含的是静态页面还是动态页面
---执行时:
。如果资源为静态资源则直接将资源包含处理与%@include file="uri"%相同
。如果请求资源为动态,则先各自处理资源,之后将处理后的结果包含在一起。