程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Java開發之JSP指令,javajsp指令

Java開發之JSP指令,javajsp指令

編輯:JAVA綜合教程

Java開發之JSP指令,javajsp指令


一、page指令

     page指令是最常用的指令,用來說明JSP頁面的屬性等。JSP指令的多個屬性可以寫在一個page指令裡,也可以寫在多個指令裡。但需要注意的是,無論在哪個page指令裡的屬性,任何page允許的屬性都只能出現一次,否則會出現編譯錯誤。import屬性除外,可以出現多次。屬性名稱區分大小寫。

page指令的常見屬性 屬性名稱 取值范圍 描述 language java 指明解釋該JSP文件時采用的語言。一般為Java語言。默認為Java。 extends 任何類的全名 指明編譯該JSP文件時繼承哪個類。jsp為Servlet,因此當指明繼承普通類時需要實現Servlet的init、destroy等方法。 import 任何包名,類名 引入該JSP中用到的類、包等。import是唯一可以聲明多次的page指令屬性。一個import屬性可以引用多個類,中間用英文逗號隔開,如<%@ page import="java.util.List,java.util.ArrayList"%>。 session true,false 指明該JSP內是否內置Session對象。如果為true,則內置Session對象,可直接使用。否則不內置Session對象。默認為true。  autoFlush true,false 是否運行緩存。如果為true,則使用out.println()等方法輸出的字符串並不是立刻到達客戶端服務器的,而是暫存在緩存裡,緩存滿或者程序執行完畢或者執行out.flush()操作時才到客戶端。默認為true。  buffer none或者數字+kb 指定緩存大小。當autoFlush設為true時有效,例如:<%@ page buffer="10kb"%>。  isThreadSafe true,false 指定是否線程安全。如果為true,則運行多個線程同時運行該JSP程序,否則只運行一個線程運行,其余線程等待。默認為false。  isErrorPage true,false 指定該頁面是否為錯誤處理頁面,如果為true,則該JSP內置有一個Exception對象exception,可直接使用,否則沒有,默認為fasle。 errorPage 某個JSP頁面的相對路徑 指明一個錯誤顯示頁面,如果該JSP程序拋出了一個未捕捉的異常,則轉到errorPage指定的頁面。errorPage指定的頁面通常isErrorPage屬性為true,且內置的excception對象為未捕捉的異常。  contentType 有效的文檔類型

客戶端浏覽器根據該屬性判斷文檔類型,例如:

HTML格式為text/html

純文本格式為text/plain

JPG圖像為image/jpeg

GIF圖像為image/gif

WORD文檔為application/msword 

info 任意字符串 指明JSP的信息。該信息可以通過Servlet.getServletInfo()方法獲取到。  trimDirectiveWhitespaces true,false 是否去掉指令前後的空白字符。默認為false。 

trimDirectiveWhitespaces=“false”(默認為false)時HTML代碼效果圖:

trimDirectiveWhitespaces=“true”時HTML代碼效果圖:

 注意:在HTML文件中,空行是不影響顯示效果的。但如果輸出的是XML文件,則可能有問題,因為某些XML解析器不允許XML文件前面有空行。

二、include指令

1.重點說明     

      include指令只有一種格式:<%@ include file="relativeURL"%>。relativeURL為本應用程序內另一個JSP文件或者HTML文件的路徑。include指令用來實現JSP頁面的的區塊化。

2.代碼實踐和效果圖

Head.jsp(導航欄內容)

 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 2 
 3 
 4 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 5 <html>
 6   <head>
 7     
 8     
 9     <title>My JSP 'Head.jsp' starting page</title>
10     
11     <meta http-equiv="pragma" content="no-cache">
12     <meta http-equiv="cache-control" content="no-cache">
13     <meta http-equiv="expires" content="0">    
14     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
15     <meta http-equiv="description" content="This is my page">
16     <!--
17     <link rel="stylesheet" type="text/css" href="styles.css">
18     -->
19 
20   </head>
21   
22   <body>
23     <table width="100%" cellspacing=1 bgcolor=#999999>
24        <tr>
25           <td bgcolor=#666666 colspan="7"
26               >
27               Hello World
28           </td>
29        </tr>
30        <tr>
31           <td bgcolor=#DDDDDD align="center">首頁</td>
32           <td bgcolor=#DDDDDD align="center">百科</td>
33           <td bgcolor=#DDDDDD align="center">文檔</td>
34           <td bgcolor=#DDDDDD align="center">下載</td>
35           <td bgcolor=#DDDDDD align="center">關於</td>
36           <td bgcolor=#DDDDDD align="center">郵件</td>
37           <td bgcolor=#DDDDDD align="center">社區</td>
38        </tr>
39     </table>
40   </body>
41 </html>

Foot.jsp(版權內容)

 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 2 
 3 
 4 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 5 <html>
 6   <head>
 7    
 8     
 9    
10     
11     <meta http-equiv="pragma" content="no-cache">
12     <meta http-equiv="cache-control" content="no-cache">
13     <meta http-equiv="expires" content="0">    
14     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
15     <meta http-equiv="description" content="This is my page">
16     <!--
17     <link rel="stylesheet" type="text/css" href="styles.css">
18     -->
19 
20   </head>
21   
22   <body>
23      <table width="100%" cellspacing=1 bgcolor=#CCCCCC>
24         <tr>
25             <td align="center" bgcolor=#666666 >
26                Copyright 2015-2016 &copyKing
27             </td>
28         </tr>
29      </table>
30   </body>
31 </html>

Include.jsp

 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 2 <%@ page trimDirectiveWhitespaces="true" %><!-- 是否去掉指令前後的空白字符。默認為false -->
 3 <%
 4 String path = request.getContextPath();
 5 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 6 %>
 7 
 8 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 9 <html>
10   <head>
11     <base href="<%=basePath%>">
12     
13     
14     <meta http-equiv="pragma" content="no-cache">
15     <meta http-equiv="cache-control" content="no-cache">
16     <meta http-equiv="expires" content="0">    
17     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
18     <meta http-equiv="description" content="This is my page">
19     <!--
20     <link rel="stylesheet" type="text/css" href="styles.css">
21     -->
22 
23   </head>
24   
25   <body>
26     <%@ include file="Head.jsp" %>     <!--include指令 -->
27     <p >拉布拉多獵犬因原產地在加拿大的紐芬蘭與拉布拉多省而得名。
28     拉布拉多犬是一種中大型犬類,個性忠誠、大氣、憨厚、溫和、陽光、開朗、活潑,智商極高,也對人很友善,
29     是非常適合被選作經常出入公共場合的導盲犬或地鐵警犬及搜救犬和其他工作犬的狗品種,
30     跟哈士奇(西伯利亞雪撬犬)和金毛獵犬並列三大無攻擊性犬類,拉布拉多智商位列世界犬類第七。</p>
31     <%@ include file="Foot.jsp" %>     <!--include指令 -->
32   </body>
33 </html>

3.include行為和include指令

    JSP還提供了另一種包含文件的行為(include行為):<jsp:include page="relativeURL">命令。該命令與include指令使用方法基本一致。不同的是include指令是把Head.jsp和Foot.jsp的源代碼添加到Include.jsp中然後再編譯成一個class文件,屬於先包含後編譯。而include行為則是運行時單獨執行Head.jsp和Foot.jsp,然後把執行結果包含到Include.jsp中,屬於先運行後包含行為。

    除了上面兩種方法包含文件外,還可以在web.xml中通過JSP配置來包含文件。

1 <jsp-config>
2      <jsp-property-group>
3         <include-prelude>/Head.jspf</include-prelude><!--在執行JSP之前執行的文件  -->
4         <include-coda>/Foot.jspf</include-coda><!--在執行JSP之後執行的文件  -->
5      </jsp-property-group>
6   </jsp-config>

 

三、taglib指令

      JSP支持標簽技術。使用標簽功能能夠實現視圖代碼重用。要使用標簽功能必須先聲明標簽庫以及標簽前綴。taglib指令用來指明JSP頁面內使用的JSP標簽庫。taglib指令有兩個屬性,uri為類庫的地址,prifix為標簽的前綴。

 1 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
 2 <html>
 3 <head>
 4 </head>
 5 <body>
 6      <c:forEach var="item" items="${arrays}">
 7              <c:out value="item"></c:out>
 8      </c:forEach>
 9 </body>
10 </body>
11 </html>

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved