注:本文编写方便自己以后用到时查阅
三大指令:include、 page、taglib
include指令:
作用: 在当前页面用于包含其他页面
语法: <include file="xxx.jsp"gt;
注意:
1)原理是把被包含的页面(xxx.jsp)的内容翻译到包含页面中,合并成翻译成一 个java源文件,再编译运行,这种包含叫静态包含(源码包含)
2)如果使用静态包含,被包含页面中不需要出现全局的html标签了!!!(如html、head、 body 当然出现也不会报错)
page指令:
作用: 告诉tomcat服务器如何把jsp文件翻译成java文件
默认写法:< page language="java" import="java.util.*" pageEncoding="ISO-8859-1"gt;
属性介绍:
language="java" //告诉服务器使用什么动态语言来翻译jsp文件
import="java.util.*" //告诉服务器java文件使用什么包导入包,多个包之间用逗号分割
pageEncoding="utf-8" //告诉服务器使用什么编码翻译jsp文件(成java文件)
注意:在开发工具中,以后只需要设置pageEncoding即可解决中文乱码问题,因为contentType属性会默认设置和pageEncoding一致
contentType="text/html; charset=utf-8" //服务器发送浏览器的数据类型和内容编码
errorPage="error.jsp" //配置了之后,当页面运行出错后,会跳转到对应的错误页面
isErrorPage="false" //默认为false,当设为true后,可以使用内置对象exception,否则不能使用
buffer="8kb" //out内置对象的款存大小,当超过款存后,立马向浏览器中写出内容
session="true" //是否可以使用内置对象session,默认true
isELIgnored="false" //是否忽略EL表达式,默认false
taglib指令:
作用:用于导入jstl标签库
9个内置对象
内置对象 | 对应的类型 | 解释 |
request | HttpServletRequest | |
response | HttpServletResponse | |
config | ServletConfig | |
application | ServletContext | |
session | HttpSession | |
exception | Throwable | |
page | Object(this) | 当前页面编译后的class |
out | JspWriter | |
pageContext | PageContext |
pageContext对象:
pageContext对象的类型是PageContext,叫jsp的上下文对象
1)可以获取其他八个内置对象
如:
1 HttpServletRequest request= pageContext.getRequest; //等价于request内置对象2 HttpServletResponse response = pageContext.getResponse; ////等价于response内置对象3 HttpSessionsession = pageContext.getSession; //... 4JspWriterout = pageContext.getOut; //... 5 6 ...
2)本身是一个域对象
#四个域对象
ServletContext | context域 |
HttpServletRequet | session域 |
HttpSession | request域 |
PageContext | page域 |
作用: 保存数据和获取数据,用于共享数据 |
#保存数据
1)默认情况下,保存到page域
pageContext.setAttribute("name");
2)可以向四个域对象保存数据
pageContext.setAttribute("name",域范围常量)
#获取数据
1)默认情况下,从page域获取
pageContext.getAttribute("name")
2)可以从四个域中获取数据
pageContext.getAttribute("name",域范围常量)
#域范围常量:
PageContext.PAGE_SCOPE
PageContext.REQUEST_SCOPE
PageContext..SESSION_SCOPE
PageContext.APPLICATION_SCOPE
3)自动在四个域中搜索数据
pageContext.findAttribute("name"); //搜索顺序: page域 -> request域 -> session域- > context域(application域)