1. 程式人生 > 實用技巧 >JSP指令

JSP指令

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的依賴目錄中去。