JSP指令
阿新 • • 發佈:2020-09-01
JSP包含三個指令,include, page, taglib.
1.include
include可以引入其他的頁面。類似與c語言的#include將標頭檔案匯入到c檔案中。
使用:
<body>
<%@ include file="common/header.jsp"%>
<h1>網頁主體</h1>
<%@ include file="common/footer.jsp"%>
</body>
他與jsp標籤中的<jsp:include>使用類似
<jsp:include>使用:
<body> <jsp:include page="common/header.jsp"/> <h1>網頁主體</h1> <jsp:include page="common/footer.jsp"/> </body>
<%@ include file="common/header.jsp"%>和<jsp:include page="common/header.jsp"/>雖然在功能上是一致的。但是在實現上有一些區別;我們都知道jsp最終是要翻譯成java類的。他們兩個的區別也就體現在這裡。
<%@ include file="common/header.jsp"%>的實現:
out.write("<h1>我是Header</h1>\r\n");
out.write(" <h1>網頁主體</h1>\r\n");
out.write( "<h1>我是Footer</h1>\r\n");
可以看到這種實現是直接將程式碼放到了檔案中。
<jsp:include page="common/header.jsp"/>的實現:
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "common/header.jsp", out, false);
out.write("<h1>網頁主體</h1>\r\n");
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "common/footer.jsp", out, false);
2.page
import 可以匯入java中的包,然後在jsp頁面中的程式碼就可以直接使用包中的類了。比如說:
<%@page import="java.util.*" %>
<h1>Date:<%= new Date()%></h1>
其他的都可以根據字面意識進行理解。。。
3、taglib
taglib字面意思就是標籤庫,其用處就是可以匯入一些標籤庫,比如說jstl標籤庫,jstl有多個標籤庫,以核心標籤庫為例
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
之後就可以在jsp頁面中使用jstl標籤了。
不過要注意的是,jstl需要有jstl包和standard包的支援,如果使用maven構建專案可以直接匯入
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
</dependency>
<!-- standard標籤庫-->
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
不僅需要在專案中匯入這兩個包,因為web專案是在Tomcat伺服器上執行的,所以還需要將這兩個包複製到Tomcat的依賴目錄中去。