JAVAWeb-Servlet和JSP-JSP-JSP指令

JAVAWeb-Servlet和JSP-JSP-JSP指令

JSP指令的作用是为当前页面做一些基本的属性设置,为当前页面的运行提供基本的环境。
在JSP中包含三类指令

  1. page指令,页面指令
  2. include指令,包含指令
  3. taglib指令 ,标签库指令

这些指令的使用语法,格式皆如下:

<%@ 指令名称 属性名=属性值 ...%>

下面来说说几个常用的指令

page指令

1.import属性

导包嘛,对吧,除了java.lang包下类的不用导,其他都得导包呀。

//导一个包
<%@ page import="java.util.*" %>

//导两个包,包名之间用逗号隔开
<%@ page import="java.util.*,java.sql.*"%>
2.errorPage属性

errorPage的属性值即可以是jsp文件,也可以是html文件。当当前JSP页面出现错误时,则会跳转至errorPage中写的页面。
语法:

<% page errorPage="error.jsp"%>

需要注意的是:
在error页面中,如果需要用到exception对象,需要加入page指令

<%@ page isErrorPage="true"%>

test.jsp

//test.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>	

//发生异常后,跳转到error.jsp页面
<%@ page errorPage="/error.jsp"%>
<html>
<head>
	<title>errorPage属性</title>
</head>
<body>
	<%
		//这里手动模拟一个被0除异常
		System.out.pringln(10/0)
	%>
</body>
</html>

error.jsp

//error.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>	

//这里要配置isErrorPage属性,否则JSP不会内建exception对象
<%@ page isErrorPage="true" %>
<html>
<head>
	<title>error</title>
</head>
<body>
	<%
		//这手打印出错误的堆栈信息
		exception.printStackTrace();
	%>
</body>
</html>

3.session属性

如果想在JSP中使用session对象,则需要在JSP页面中写上page指令:

<%@ page session="true" %>  

这一点和exception对象类似。

page指令有很多,但是不经常用的就算看来额,没多久也就忘了,因此等需要用时,再去查看相关文档即可,这里只说几个常用的。

inlclude指令

包含指令中只有一个属性file
该属性指定的是该JSP文件要包含的JSP文件的路径。
JSP文件可以包含被包含文件的页面,变量等内容。
比如:
有left.jsp和main.jsp,让main.jsp包含left.jsp.

被包含文件left.jsp

//被包含文件left.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java"  %>
<html>
<head>
	<title>这是被包含文件left.jsp</title>
</head>
<body>
	left
	<%
		int num = 88;
	%>	
</body>
</html>
//包含文件的文件mian.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java"  %>

//include指令,包含left.jsp
<% include file="/left.jsp" %>
<html>
<head>
	<title>mian.jsp</title>
</head>
<body>
	<%=num %>		
</body>
</html>

上面的JSP运行结果如下:
这是上面jsp运行后的结果
我们可以看出来,main.jsp中,不仅包含了left.jsp中的内容,同样,也包含了left.jsp中定义的变量num,所以在main.jsp中可以直接访问到num。
这种方式叫做静态包含。
那么,include的应用场景一般是什么呢?
我们都知道,一个网站可能会包含很多个网页,但是这些网页可能有在:

  1. 网页头部导航部分
  2. 网页底部的备案信息部分
  3. 网页右部链接部分

都是相同的,因此这些相同的部分,就可以使用包含的方式,一来减少代码冗余,而来修改起来也比较方便。现代网页开发中,经常有如下模式:

使用一个大的main,jsp包含头,身体,右侧的jsp,这样方便代码管理
这样使用main.jsp包含head.jsp、body.jsp、right.jsp的方式来进行网页设计

3.taglib指令

这部分内容比较多,后面写完再补上链接。

发布了2 篇原创文章 · 获赞 1 · 访问量 150

猜你喜欢

转载自blog.csdn.net/The_Love_Juice/article/details/104456950