JSP声明
JSP 声明用来定义程序中使用的实体,如变量、方法和类。
语法格式:<%! 变量/方法/类的声明 %>
例如:
<%! String str="欢迎"; %> <%! public int add(int x,int y){ return x+y; } %> <%! public class Student{ String name; Student(String name){ this.name=name; } } %>
注意1:JSP 声明中定义的变量、方法和类是全局 性的,在 JSP 页面中的任何地方都能够使用。
注意2:JSP 声明中不能使用out.print()系列方法做 输出操作。 (下面这样就不行)
<%@ page language="java" contentType="text/html; charset=gb2312"%> <html>
<body>
<%!
out.println("欢迎来到本系统"); <%-- 这样会报错 --%>
%>
</body>
</html>
JSP指令
JSP指令元素是指在JSP文件中包含在<%@与 %> 之间的部分,用来设置页面的相关信息,在服务器 端执行,不产生输出,在整个页面范围内有效。
格式:<%@ 指令 属性1=" 值 " ……属性n =" 值 " %>
√ page指令:用于设定JSP页面的全局属性和相关功能
√ include指令:用于将特定位置上的资源包含到当前的JSP文件中
√ taglib指令:用于定义一个标签库及标签库的前缀
1、page指令常用属性
1-1、page指令——import属性
功能:用于设置导入本页Jsp脚本会用到的包和类。
语法格式:
导入指定类:<%@ page import=" 包 . 类 " %>
导入指定包中所有类:<%@ page import=" 包 .*" %>
例如:
<%@ page import="java.util.Date" %>
<%@ page import="java.util.*" %>
说明:import属性是page指令中唯一可以多次出现的属性,其他属性若多次出现则会导致编译错误。
1-2、page指令——errorPage属性
功能:当JSP页面运行异常时,用于指定处理错误 的另一个JSP页面,其值为URL字符串。
语法格式:<%@ page errorPage =" 值 " %>
例如:
<%@ page errorPage = "anErrorPage.jsp" %>
1-3、page指令——isErrorPage属性
功能:设置当前JSP页面为另一个JSP页面的错误处理页面,其值为布尔类型,默认值为false。
语法格式:<%@ page isErrorPage =" 值 " %>
例如:
<%@ page isErrorPage = "true" %>
注意1:该属性是否设置为true不影响当前错误处理页面的执行,但设置为true后,服务器会根据原页面错误类型将相应http状态码返回到客户端,否则将返回执行正常的状态码。
举个栗子:pageTest2.jsp
<%@ page contentType="text/html; charset=gb2312" errorPage="pageTest2_error.jsp"%>
<html>
<body>
<%//此页面会向pageTest_error抛出异常,让其来处理
int num1=10;
int num2=0;
int num3=num1/num2;
%>
</body>
</html>
pageTest2_error.jsp
<%@ page contentType="text/html; charset=gb2312" isErrorPage="true"%> <html>
<body>
<% //此页面会会处理pageTest2.jsp抛出的异常
//友好地显示错误信息
out.println("网页出现数学运算异常!");
%>
</body>
</html>
运行结果:
地址栏仍显示原页面地址而非错 误处理页面地址
1-3、include指令
功能:向当前页面指定位置插入一个静态文件。
语法格式: <%@ include file=" 被包含文件的 URL" %>
例如:
<%@ include file=" logo.jsp" %>
说明:include指令在编译时将对于文件包含到本页面,等价于代码复制。所以会影响主页
1-4、taglib指令
功能:在JSP页面中标识并引用指定标签库,同时指定标签的前缀(为方便使用给标签库起的别名)。 这样,就可以通过前缀来引用标签库中的标签。
语法格式: <%@ taglib uri=" 标签库的 URI " prefix=" 标签前缀 " %>
例如:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jst1/core"%>
举个栗子:
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>taglib指令示例</title>
</head>
<body>
<c:out value="taglib 指令示例 " />
</body>
</html>
运行结果: