JSP的指令格式:
<%@ 指令名 属性=“属性值” %>
指令名:page 、 include、taglib。
1.page指令
(1)language 属性
<%@ page language="java" %>
(2)import属性 引入包
<%@ page import="java.util.*,java.lang.*" %>
多个包之间,用,隔开。
(3)session 属性
指定JSP页面是否支持会话,默认为true。
<%
if(session.getAttribute("name")==null)
session.setAttribute("name","china");
%>
<%
out.println(session.getAttribute("name"));
%>
若把session设置为false,将会出错。
(4)errorPage属性
在要出错的页面设置
<%@ page errorPage="errorHandle.jsp" %>
处理错误的页面设置
<%@ page isErrorPage="true" %>
也可以不写。
(5)contentType属性
该属性指定了MIME的类型和JSP文件的字符编码方式,它们都是最先传递给客户端,使得客户端可以决定采用什么方式来展现页面内容。
如:text/html 、text/plain、image/gif。。。。。。
格式:
<%@ page contentType="text/html; charset=gb2312" %>
(6)isThreadSafe属性
设置JSP文件是否能多线程使用,有true和false两种,默认为true,即JSP能够同时处理多个用户的请求;
设置为false,一个JSP只能一次处理一个请求。
由于服务器延迟等原因,会造成多线程间的不同步,会出现错误。
2.include指令
该指令向JSP页面内某处嵌入一个文件,可以是HTML文件、JSP文件、文本文件。
注意:通过该指令包含的文件是由JSP分析的,是在转换阶段-----JSP文件被编译为Servlet 进行的。
格式:<%@ include file="..." % >
地址栏仍是源地址,而不是嵌入页面的地址。
3.JSP动作组件
用来控制web容器的行为,可以动态的向页面中插入文件、把用户重定向到另外的页面、重用JavaBean组件等。
常用的如下:
<jsp: include>:在页面被请求的时候引入一个文件。
<jsp:param>:在动作组件中引入参数信息。
<jsp:forward>:把请求转到一个新的页面。
<jsp:setProperty>:设置指定的JavaBean的属性。
<jsp:getProperty>:输出指定的JavaBean的属性。
<jsp:useBean>:实例化一个JavaBean。
(1)include动作组件
<jsp:include page="..." flush="true"/>
地址仍不变。
要注意和include指令元素的区别。
(2)forward动作组件
<jsp:forward page="..." />
客户端看到的地址是A页面的地址,但内容却是B页面的。
注意:<jsp:forward>标记从一个JSP文件向另一个文件传递一个包含用户请求的request对象,该标记以后的代码,将不再被执行。
(3)param动作组件
用于传递参数信息,配合include和forward动作组件一起使用。
<jsp:param name=参数名,value=值/>
举例如下:
TestParam.jsp页面:
<body>
<h1>param动作组件示例:</h1>
<jsp:include page="out.jsp" flush="true">
<jsp:param value="Tom" name="sname"/>
<jsp:param value="111" name="sno"/>
</jsp:include>
</body>
out.jsp页面:
<body>
<%
String name=request.getParameter("sname");
String no=request.getParameter("sno");
out.println("姓名为:"+name+" 学号为:"+no);
%>