JSP指令标签
指令标签主要用于在JSP转换为Servlet阶段中提供整个JSP页面的相关信息,指令不会产生任何输出到当前的输出流中。
page指令
page指令作用于整个JSP页面,定义了许多与页面相关的属性。在一个JSP页面中,page指令可以定义在任何一个位置,但为了程序的可读性,一般放在页面的开始部分。
page指令可以出现多次,但该指令中的属性只能出现一次,重复的属性设置将覆盖先前的设置,其中import属性除外。
序号 | 属性 | 描述 |
---|---|---|
1 | language=“java” | 设置当前页面中编写JSP脚本使用的语言,默认为Java |
2 | import=“importList” | 用于指定在脚本环境中可以使用的Java类,该属性的值用逗号分隔导入Java类的列表 |
3 | extend=“className” | 指定JSP页面转换后的Servlet类从哪一个类继承,属性值是完整的限定类名。通常不使用这个属性,JSP容器会提供转换后的Servlet类的父类 |
4 | session=“true|false” | 默认为true,指定这个JSP中是否可以使用session |
5 | buffer=“none|sizekb” |
默认为8kb,指定到客户端输出流的缓冲模式,如果是none,则不缓冲,如果指定数值,那么输出就用不小于这个值的缓冲区进行缓冲 |
6 | autoFlush=“true|false” |
默认为true true:当缓冲区满时,到客户端的输出被刷新 false:当缓冲区满时,出现运行异常,表示缓冲溢出 |
7 | isThreadSafe=“true|false” |
默认为true,用来设置JSP文件能否支持多线程的使用 如果为true,南无一个JSP能够同时处理多个用户的请求,反指,一个JSP只能一次处理一个请求 |
8 | info=“info_text” | 关于JSP页面的信息 |
9 | errorPage=“error_url” | 定义此页面出现异常时调用的页面 |
10 | isErrorPage=“true|false” | 用于指定当前页面是否是另一个JSP页面的错误处理页面 |
11 | contentType=“ctinfo” | 定义响应中的内容类型和JSP页面的编码格式 |
12 | pageEncoding=“utf-8” | 实现功能跟contentType="text/html; charset=utf-8"一致,但是两者若同时设置,JSP页面的编码格式以pageEncoding为准,response中的内容类型和编码格式以contentType为准 |
13 | isEIgnored=“true|false” | 指定EL表达式语言是否被忽略,为true则忽略,反之可用 |
include指令
include指令的作用是在JSP文件编译的时候插入包含一个文件,包含的过程是静态的,包含的文件可以使JSP、HTML、文本或者Java程序。使用include指令的JSP页面在转换时,JSP容器会在其中插入所包含文件的文本或代码,同时解析这个文件中的JSP语句,从而方便的实现代码的重用,提高代码的使用效率。例:
<%@include file="includehead.jsp" %>
taglib指令
taglib 指令是定义一个标签库以及其自定义标签的前缀.。 语法格式如下所示:
<%@ taglib uri="" tagDir="tagdir" prefix="c"%>
JSP动作标签
<jsp:include>动作标签
此标签允许在页面被请求时包含一些其他资源,如一个静态的HTML文件,或者动态的JSP文件。语法为:
<jsp:include page="" flush="true|false"/>
page指被包含文件的相对路径或者代表相对路径的一个表达式
flush属性指被包含的文件是否自动刷新
或者:
<jsp:include page="" flush="true|false"/>
<jsp:param name="" value=""/>
</jsp:include>
可以传递一个或多个参数给被包含的文件,并且在一个页面可以使用多个<jsp:param>标签
示例:在一个jsp文件中添加date.jsp文件的内容
date.jsp文件
<%@ page language="java" pageEncoding="UTF-8"%>
<!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-8">
<title>date</title>
</head>
<body>
<%@ page import="java.util.*" %>
<%!
Date date = new Date();
%>
<%=date.toLocaleString()
%>
</body>
</html>
<jsp:include page="date.jsp"/>
<jsp:forward>动作标签
此动作标签允许将请求重定向到其他HTML文件、JSP文件和Servlet上。通常请求被转发后会停止当前JSP文件的执行。语法格式为:
<jsp:forward page="" />
或者是:
<jsp:forward page="" />
<jsp:param name="" value="" />
</jsp:forward>
其中page属性指定要重定向文件的相对路径或代表相对路径的一个表达式,name指定传递参数的参数名,value指定参数值。向指定的文件发送参数时,可以传递多个参数,使用多个<jsp:param>。
<jsp:forward page="ShowMessage.jsp">
<jsp:param value="loginname" name="username"/>
<jsp:param value="123456" name="password"/>
</jsp:forward>
ShowMessage.jsp
<body>
<%
String name = request.getParameter("username");
String pass = request.getParameter("password");
%>
登录名:<%=name %></br>
登录密码:<%=pass %>
</body>
<jsp:param>动作标签
负责将一个或多个元素传递到指定的文件中,该元素通常和<jsp:include>、<jsp:forward>等一起使用。