分为静态包含和动态包含
相当于把被包含的文件中的代码插入到要包含他的JSP页面中,不预先做处理,不管后缀是什么。
使用<%@include file="要包含的文件路径"%>
静态包含的处理流程:
与静态包含不同的是 动态包含会对被包含的内容先处理再包含,即如果被包含的内容是静态的 处理方式与静态包含相同,如果是动态的则先进行处理,再将结果包含进去
两种传递方式:
1.不传递参数:<jsp:include page = "{要包含的路径|<%=表达式%>}" flush="true|false"> 2.传递参数:<jsp:include page= "{要包含的路径|<%=表达式%>}" flush="true|false"> <jsp:param name="参数名称" value="参数内容"/> ...这里可传递多个参数 </jsp:include>
被包含的界面可以使用 request.getParameter()方法来获取传递的参数
其中flush可选true和false两个值,如果选择false则表示这个网页需要在全部读进来之后才输出,在每个jsp都有一个buffer,所以如果是true则buffer满了就输出,一般会设置成true 默认值是true。
将一个用户的请求从一个页面传递到另一个页面中即完成跳转,与包含类似,也可以完成参数的传递
两种跳转格式:
1.不传递参数的跳转:<jsp:forward page="{文件路径|<%= 表达式%>}"> 2.包含参数的跳转: <jsp:forward page="{文件路径|<%= 表达式%>}"> <jsp:param name="参数名称" value="参数内容"/> </jsp:forward>
跳转后的地址栏地址是不变的,所以同错误页一样,利用forward的这中跳转也是服务器端跳转
通过forward传递的参数,在接收的页面会出现中文乱码,这是因为编码格式没有约定的原因,因此在<jsp:forward>之前加上一行代码就可以解决了:
<%request.setCharacterEncoding("utf-8");%>