<%@page isErrorPage="true|false"%>:说明当前页面时其它页面出现错误后的处理页面,设置为true以后就可以直接使用隐式对象exception了 (默认为false)
<%@page errorPage="error.jsp"%>:指定当前页面发生错误后跳转的错误处理页面的地址
<%@page isELIgnored="true"%>:是否忽略(不解析)EL表达式,默认值为false,即解析el表达式
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> :标签库的引入方式,下面是引入核心标签库的方式
<%@page language="java"%> :jsp页面使用哪种脚本语言
<%@page extends="className"%>:在jsp页面继承超类,一般不推荐使用
<%@page buffer="none|xxkb"%>:页面初始输出的JspWriter处理内容的输出缓冲模型,默认为8KB
<%@page autoFlush="true|flase"%>:缓存内容是否被自动刷新 默认为true
<%@page info="XXXXX"%>:返回Servlet.getServletInfo()方法内容
静态包含:将代码整体复制到当前文件中,因此不能在包含文件中定义一个变量,在被包含页面中也定义相同的变量,否则报变量重复定义错误
<%@include file="banner.jsp" %>
动态包含:将包含页面的执行结果包含到当前位置
<%
//解决包含文件的中文乱码问题
request.setCharacterEncoding("utf-8");
%>
<jsp:include page="dynamic.jsp">
<jsp:param value="张三" name="name"/>
<jsp:param value="20" name="age"/>
</jsp:include>
面试题:静态包含和动态包含的区别:
相同点:都可以包含其他页面的内容到当前页面
不同点:
A:静态包含是将包含页面的内容直接复制到当前位置,而动态包含是将包含页面的执行结果包含到当前页面中
B:静态包含页面和当前页面中不能定义相同的变量名,动态包含无所谓。
C:静态包含不能传参,而动态包含可以传递参数到目标页面,同时可以使用解决post提交的中文乱码问题的方式解决 包含文件的中文乱码问题。
include和forward的区别:
include是将内容包含到当前页面,include之后的内容还会正常显示.
forward:通过服务器端转发到目标页面显示目标页面的效果。forward之后还回来吗?不回来了
forward几种用法
1、
//跳转到p5.jsp
<jsp:forward page="p5.jsp"></jsp:forward>
2、
<!-- 这种写法不能传递参数到目标页面-->
<jsp:forward>
<jsp:attribute name="page">p5.jsp</jsp:attribute>
</jsp:forward>
3、
<!-- 这种写法可以传递参数到目标页面-->
<jsp:forward page="p5.jsp">
<jsp:param value="夏利" name="name"/>
<jsp:param value="小丽" name="name"/>
</jsp:forward>