概述
5.1 指令
5.1.1 指令基本概述
指令有三个page,include,taglib,而且始终被包含在<%@ %>中。
5.1.2 page指令
page指令用于导入需要的类,指明jsp输出内容类型,控制session等。
1.import属性
多个包的引入可以使用:
<%@ page import="package1.Class"%>
<%@ page import="package2.Class"%>
或
<%@ page import="package1.Class,package2.Class"%>
示例5-1:使用import指令
源文件:ImportDate.jsp
<%@ page contentType="text/html; charset=GBK" %>
<%@ page language="java" import="java.util.Date" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Import Time</title>
</head>
<body>
现在时间是:<%= new Date() %>
</body>
</html>
2.contentType和pageEncoding属性
contentType是用于指明JSP输出的内容的MIME类型,pageEncoding是用来改变文件的编码
示例5-2:通过contentType来在JSP中产生excel文件
源文件:Excel.jsp
<%@ page contentType="application/vnd.ms-excel; charset=GBK" %>
姓名 性别 年龄
张三 男 14
李四 男 35
王五 女 33
3.session属性
<%@ page session="false" %>
4.errorPage和isErrorPage属性
errorPage用来指明处理错误的页面:
<%@ page errorPage="errorHandle.jsp" %>
isErrorPage是处理错误的页面中的,这个页面中可以使用内置对象exception
<%@ page isErrorPage="true" %>
示例5-3:JSP错误处理
源文件:cal.jsp
<%@ page contentType="text/html; charset=GBK" %>
<%@ page errorPage="handleError.jsp" %>
<%
int a,b;
a = 5;
b = 0;
int c = a/b;
%>
示例5-4:处理错误的JSP程序
源文件:handleError.jsp
<%@ page contentType="text/html; charset=GBK" %>
<%@ page isErrorPage="true" %>
<html>
<head><title>错误处理</title></head>
<body>
出错啦!<br />
<%
exception.printStackTrace(new java.io.PrintWriter(out));
%>
</body>
</html>
5.buffer和autoFlush属性
buffer属性用来改变缓冲区的大小,autoFlush用来设置自动刷新缓存区
<%@ page buffer="64kb" %>
或
<%@ page buffer="none" %>
示例5-5:JSP中操作缓冲区
源文件:Buffer.jsp
<%@ page contentType="text/html; charset=GBK" %>
<%@ page buffer="1kb" autoFlush="false" %>
<html>
<head><title>buffer和autoFlush</title></head>
<body>
<%
for(int i=0; i<1000; i++){
out.println("This is Line " + i);
}
%>
</body>
</html>
6.info属性
info属性可以指定这个JSP的一些说明信息,在Servlet中通过Servlet的getServletInfo()方法取得
<%@ page info="Jsp Message" %>
7.isThreadSafe属性
设置这个JSP页面是否可以并发访问,不推荐使用
8.isELIgnored属性
设置是否忽略EL表达式
9.language属性
目前只有一种选择:
<%@ page language="java"%>
10.extends属性
指定JSP所转换成的Servlet的父类,很少使用
<%@ page extends="package.class"%>
5.1.3 include指令
示例5-6:使用include指令:包含的页面
源文件:header.jsp
<%@ page contentType="text/html; charset=GBK" %>
<center>
<img src="guru.gif"/><br />
AlexSoft,真诚奉献
</center>
示例5-7:使用include指令:包含的页面2
源文件:foot.jsp
<%@ page contentType="text/html; charset=GBK" %>
<center>
<%
int thisYear,lastYear;
java.util.Calendar date = java.util.Calendar.getInstance();
thisYear = date.get(java.util.Calendar.YEAR);
lastYear = thisYear - 1;
%>
Copyright(C) <%= lastYear %> - <%=thisYear %> AlexSoft, All Rights Reserved.
</center>
示例5-8:使用include指令包含其他文件
源文件:first.jsp
<%@ page contentType="text/html; charset=GBK" %>
<html>
<head><title>first</title></head>
<body>
<%@ include file="D06_header.jsp" %>
<br />
<br />
其他的页面输出
<br />
<br />
<%@ include file="D07_foot.jsp" %>
</body>
</html>
include缺点:当被包含的文件修改时无法及时更新。
5.2 JSP动作
5.2.1 JSP动作概述
JSP动作包括:
jsp:include,jsp:useBean,jsp:setProperty,jsp:getProperty,jsp:forward,jsp:plugin
5.2.2 include动作
include动作可以避免include指令不能及时刷新的缺点:
<jsp:include page="includeFile" />
示例5-9:用include动作包含文件
源文件:seconde.jsp
<%@ page contentType="text/html; charset=GBK" %>
<html>
<head><title>second</title></head>
<body>
<jsp:include page="D06_header.jsp"></jsp:include>
<br />
<br />
其他的页面输出
<br />
<br />
<jsp:include page="D07_foot.jsp"></jsp:include>
</body>
</html>
5.2.3 forward动作
forward动作不但可以跳转到页面,还可以跳转到WEB-INF下的资源:
<jsp:forward page="forward1.jsp" />
最后
以上就是烂漫外套为你收集整理的05_JSP指令和动作的全部内容,希望文章能够帮你解决05_JSP指令和动作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复