JSP指令
page
page指令是最常用的指令,用来声明JSP页面的属性等。JSP多个属性可以写在一个page指令里,也可写在多个page指令里,例如:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
//一个指令多个属性
<%@ page pageEncoding="UTF-8" %>//一个指令一个属性
<%@ page import="java.utils.ArrayList" %>
但是无论在哪个page指令中,同一个指令里的属性都只能出现一次(除import),否则会出现编译错误。下表是page的各属性。最常用的是import、contentType、pageEncoding。
taglib
JSP支持标签技术,使用标签功能能够实现视图代码重用,很少量的代码就能实现很复杂的显示效果。要使用标签功能必须先声明标签库以及标签前缀。taglib指令用来指明JSP页面使用的JSP标签库。taglib指令有两个属性,uri为类库的地址,perfix为标签的前缀,例如:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
include
include指令(静态包含)只有一种形式:
<%@ include file="relativeURI" %>
relativeURI为本应用程序内另一个JSP文件或者HTML文件的路径。例如,大部分网站所有界面都有一个同一风格的导航栏head.jsp与脚本版权foot.jsp,这样的效果就可以使用include指令。include指令用来实现JSP界面的区块化。
demo1.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>includeTestPage</title>
</head>
<body>
<%@ include file="head.jsp" %>
I'm demo1.jsp~~~
<%@ include file="foot.jsp" %>
</body>
</html>
head.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
I'm head~~
</body>
</html>
foot.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
I'm foot~~~
</body>
</html>
运行结果
JSP中还提供另一种包含文件的行为:<jsp:include page=“relativeURI”/>命令。该命令与include指令使用方法基本一致,file属性都是相对文件路径。不同的是<%@ include file=“realativeURI”/>是把head.jsp与foot.jsp的源代码添加到了demo1.jsp中然后编译成一个class文件,是先包含后编译。而<jsp:include page=“relativeURI”/>则是先执行head.jsp和foot.jsp,然后把执行结果包含到include.jsp中,属于先执行后包含行为。
除了使用include命令与include行为包含文件外,还可以在web.xml中通过JSP配置来包含文件。