一、page指令
page指令 --- 属性最多的指令(实际开发中page指令默认)
属性最多的一个指令,根据不同的属性,指导整个页面特性
格式:<%@ page 属性名1= "属性值1" 属性名2= "属性值2" ...%>
常用属性如下:
1.1 language
jsp脚本中可以嵌入的语言种类。其实只能写language="java"。当初sun公司设想jsp可以成为各种语言的页面模板,可以php,C#都有自己的页面模板,不会来用jsp。所以,这个language写与不写没区别。
1.2 pageEncoding
当前jsp文件的本身编码---内部可以包含contentType
右键单击jsp选择Properties
如果contentType没写,那么contentType的编码会使用pageEncoding的编码。所以,开发中只写pageEncoding就行了。
1.3 contentType
1.4 session
默认值:session="true"。开发中使用默认值就行了。
这个属性表示是否jsp在翻译时自动创建session
1.5 import
导入java的包
写List的时候报错了,是因为没有导入List包。
通过import到如包,就不报错了。
编译器自动帮我们导包:
1.6 errorPage
当当前页面出错后跳转到哪个页面
创建一个错误页面:
在index.jsp中制造一个错误:
访问index.jsp:
1.7 isErrorPage
当前页面是一个处理错误的页面
1.8 配置全局错误页面
在web.xml中配置error-page标签
访问一个不存在的资源,结果跳转到了我们刚才所配置的错误页面
二、include指令
页面包含(静态包含)指令,可以将一个jsp页面包含到另一个jsp页面中
格式:<%@ include file="被包含的文件地址"%>例子:
demo.jsp
<%@ page language="java" contentType="text/html; charset=UTF-16"
pageEncoding="UTF-16"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-16">
<title>Insert title here</title>
</head>
<body>
<br />
<h1>this is demo page</h1>
</body>
</html>
index.jsp include demo.jsp
<%@page import="java.util.*"%>
<%@ page pageEncoding="UTF-8" errorPage="/error.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-16">
<title>Insert title here</title>
</head>
<body>
<%@include file="/demo.jsp" %>
<%
session.setAttribute("name", "zhangsan");
int i = 0;
System.out.print(i);
List list = new ArrayList();
%>
<%=i%>
<%=1 + 1%>
<%!String str = "hello china";%>
<%=str%>
</body>
</html>
访问index.jsp
include的作用。有很多页面的头部和尾部的信息都是一样的。那么,我们就只要写一份头部和尾部,然后,在各个页面include它们。
三、taglib指令
在jsp页面中引入标签库(jstl标签库、struts2标签库)
格式:<%@ taglib uri="标签库地址"prefix="前缀"%>
<%@page import="java.util.*"%>
<%@ page pageEncoding="UTF-8" errorPage="/error.jsp"%>
<!--引入jstl核心库 -->
<%-- <%@ taglib uri="http://" prefix="c"%> --%>
<%-- <%@ taglib uri="http://" prefix="fmt"%> --%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-16">
<title>Insert title here</title>
</head>
<body>
<!-- 使用c库的标签 -->
<c:if></c:if>
<fmt:xxxx></fmt:xxxx>
<%@include file="/demo.jsp"%>
<%
session.setAttribute("name", "zhangsan");
int i = 0;
System.out.print(i);
List list = new ArrayList();
%>
<%=i%>
<%=1 + 1%>
<%!String str = "hello china";%>
<%=str%>
</body>
</html>