JSP常用語法
入門
- 語法格式
<% 程式碼片段 %>
- 中文編碼
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
- 宣告
<%! int a = 0; %>
- 表示式
<%= (new java.util.Date()).toLocaleString()%> //今天的日期是: 2016-6-25 13:40:07
- 註釋
<%-- 該部分註釋在網頁中不會被顯示--%>
JSP指令
<%@ directive attribute="value" %>
page
Page指令為容器提供當前頁面的使用說明。一個JSP頁面可以包含多個page指令。<%@ page attribute="value" %>
- buffer 指定out物件使用緩衝區的大小
- autoFlush 控制out物件的 快取區
- contentType 指定當前JSP頁面的MIME型別和字元編碼
- errorPage 指定當JSP頁面發生異常時需要轉向的錯誤處理頁面
- isErrorPage 指定當前頁面是否可以作為另一個JSP頁面的錯誤處理頁面
- extends 指定servlet從哪一個類繼承
- import 匯入要使用的Java類
- info 定義JSP頁面的描述資訊
- isThreadSafe 指定對JSP頁面的訪問是否為執行緒安全
- language 定義JSP頁面所用的指令碼語言,預設是Java
- session 指定JSP頁面是否使用session
- isELIgnored 指定是否執行EL表示式
- isScriptingEnabled 確定指令碼元素能否被使用
include
JSP可以通過include指令來包含其他檔案。被包含的檔案可以是JSP檔案、HTML檔案或文字檔案。包含的檔案就好像是該JSP檔案的一部分,會被同時編譯執行。<%@ include file="檔案相對 url 地址" %>
taglib
JSP API允許使用者自定義標籤,一個自定義標籤庫就是自定義標籤的集合。
Taglib指令引入一個自定義標籤集合的定義,包括庫路徑、自定義標籤。<%@ taglib uri="uri" prefix="prefixOfTag" %>
JSP ACTION
利用JSP動作可以動態地插入檔案、重用JavaBean元件、把使用者重定向到另外的頁面、為Java外掛生成HTML程式碼。
所有的動作要素都有兩個屬性
- id屬性:
id屬性是動作元素的唯一標識,可以在JSP頁面中引用。動作元素建立的id值可以通過PageContext來呼叫。 - scope屬性:
該屬性用於識別動作元素的生命週期。 id屬性和scope屬性有直接關係,scope屬性定義了相關聯id物件的壽命。 scope屬性有四個可能的值: (a) page, (b)request, (c)session, 和 (d) application。
jsp:include
用於在當前頁面中包含靜態或動態資源: <jsp:include page="相對 URL 地址" flush="true" />
-
page
包含在頁面中的相對URL地址。 -
flush
布林屬性,定義在包含資源前是否重新整理快取區。
jsp:useBean
用來載入一個將在JSP頁面中使用的JavaBean<jsp:useBean id="name" class="package.class" />
-
class
指定Bean的完整包名。 -
type
指定將引用該物件變數的型別。 -
beanName
通過 java.beans.Beans 的 instantiate() 方法指定Bean的名字。
在給出具體例項前,讓我們先來看下 jsp:setProperty 和 jsp:getProperty 動作元素
jsp:setProperty
jsp:setProperty用來設定已經例項化的Bean物件的屬性,有兩種用法。首先,你可以在jsp:useBean元素的外面(後面)使用jsp:setProperty,如下所示:
<jsp:useBean id="myName" ... />
<jsp:setProperty name="myName" property="someProperty" .../>
此時,不管jsp:useBean是找到了一個現有的Bean,還是新建立了一個Bean例項,jsp:setProperty都會執行。第二種用法是把jsp:setProperty放入jsp:useBean元素的內部,如下所示:
<jsp:useBean id="myName" ... >
<jsp:setProperty name="myName" property="someProperty" .../>
</jsp:useBean>
此時,jsp:setProperty只有在新建Bean例項時才會執行,如果是使用現有例項則不執行jsp:setProperty。
jsp:setProperty動作有下面四個屬性,如下表:
-
name
name屬性是必需的。它表示要設定屬性的是哪個Bean。 -
property
property屬性是必需的。它表示要設定哪個屬性。有一個特殊用法:如果property的值是"*",表示所有名字和Bean屬性名字匹配的請求引數都將被傳遞給相應的屬性set方法。 -
value
value 屬性是可選的。該屬性用來指定Bean屬性的值。字串資料會在目標類中通過標準的valueOf方法自動轉換成數字、boolean、Boolean、 byte、Byte、char、Character。例如,boolean和Boolean型別的屬性值(比如"true")通過 Boolean.valueOf轉換,int和Integer型別的屬性值(比如"42")通過Integer.valueOf轉換。 value和param不能同時使用,但可以使用其中任意一個。 -
param
param 是可選的。它指定用哪個請求引數作為Bean屬性的值。如果當前請求沒有引數,則什麼事情也不做,系統不會把null傳遞給Bean屬性的set方法。因此,你可以讓Bean自己提供預設屬性值,只有當請求引數明確指定了新值時才修改預設屬性值。
jsp:getProperty
jsp:getProperty動作提取指定Bean屬性的值,轉換成字串,然後輸出。語法格式如下:
<jsp:useBean id="myName" ... />
<jsp:getProperty name="myName" property="someProperty" .../>
下表是與getProperty相關聯的屬性:
-
name
要檢索的Bean屬性名稱。Bean必須已定義。 -
property
表示要提取Bean屬性的值
jsp:forward
從一個JSP檔案向另一個檔案傳遞一個包含使用者請求的request物件<jsp:forward page="相對 URL 地址" />
-
page
page屬性包含的是一個相對URL。page的值既可以直接給出,也可以在請求的時候動態計算,可以是一個JSP頁面或者一個 Java Servlet.
jsp:plugin
用來根據瀏覽器的型別,插入通過Java外掛 執行Java Applet所必需的OBJECT或EMBED元素。如果需要的外掛不存在,它會下載外掛,然後執行Java元件。 Java元件可以是一個applet或一個JavaBean。plugin動作有多個對應HTML元素的屬性用於格式化Java 元件。param元素可用於向Applet 或 Bean 傳遞引數。
以下是使用plugin 動作元素的典型例項:
<jsp:plugin type="applet" codebase="dirname" code="MyApplet.class"
width="60" height="80">
<jsp:param name="fontcolor" value="red" />
<jsp:param name="background" value="black" />
<jsp:fallback>
Unable to initialize Java Plugin
</jsp:fallback>
</jsp:plugin>
jsp:element jsp:attribute jsp:body
<jsp:element> 、 <jsp:attribute>、 <jsp:body>動作元素動態定義XML元素。動態是非常重要的,這就意味著XML元素在編譯時是動態生成的而非靜態。
以下例項動態定義了XML元素:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鳥教程(runoob.com)</title>
</head>
<body>
<jsp:element name="xmlElement">
<jsp:attribute name="xmlElementAttr">
屬性值
</jsp:attribute>
<jsp:body>
XML 元素的主體
</jsp:body>
</jsp:element>
</body>
</html>
jsp:text
<jsp:text>動作元素允許在JSP頁面和文件中使用寫入文字的模板,語法格式如下:<jsp:text>模板資料</jsp:text>
JSP內建物件
- request HttpServletRequest類的例項
- response HttpServletResponse類的例項
- out PrintWriter類的例項,用於把結果輸出至網頁上
- session HttpSession類的例項
- application ServletContext類的例項,與應用上下文有關
- config ServletConfig類的例項
- pageContext PageContext類的例項,提供對JSP頁面所有物件以及名稱空間的訪問
- page 類似於Java類中的this關鍵字
- Exception Exception類的物件,代表發生錯誤的JSP頁面中對應的異常物件
控制流
IF
<% if (day == 1 | day == 7) { %>
<p>今天是週末</p>
<% } else { %>
<p>今天不是週末</p>
<% } %>
switch
<%
switch(day) {
case 0:
out.println("星期天");
break;
case 1:
out.println("星期一");
break;
case 2:
out.println("星期二");
break;
case 3:
out.println("星期三");
break;
case 4:
out.println("星期四");
break;
case 5:
out.println("星期五");
break;
default:
out.println("星期六");
}
%>
迴圈語句
for
<%for ( fontSize = 1; fontSize <= 3; fontSize++){ %>
<font color="green" size="<%= fontSize %>">
菜鳥教程
</font><br />
<%}%>
while
<%while ( fontSize <= 3){ %>
<font color="green" size="<%= fontSize %>">
菜鳥教程
</font><br />
<%fontSize++;%>
<%}%>
相關文章
- JSP基本語法JS
- JSP 的語法JS
- JSP語法格式 (轉)JS
- JSP/Servlet基礎語法JSServlet
- JSP 語法詳解(轉)JS
- markdown 常用語法
- saltstack常用語法
- 常用MySQL語法MySql
- Perl常用語法
- markdown常用語法
- jsp語法轉換為thyemleafJS
- vue 常用語法糖Vue
- Golang常用語法糖Golang
- mongoDB的常用語法MongoDB
- AngularJS 常用語法AngularJS
- 常用的 SQL 語法SQL
- Java學習--jsp基礎語法JavaJS
- MongoDB 常用查詢語法MongoDB
- python 常用的語法Python
- 常用CSS縮寫語法CSS
- Markdown 常用簡明語法
- ES6常用語法
- 常用Markdown語法歸納
- clang常用語法介紹
- Oracle常用sql語法集合OracleSQL
- MySql 常用語法彙總MySql
- markdown 16大常用 語法
- 【菜鳥學Java】7:JSP的基本語法JavaJS
- Markdown常用的幾種語法
- ES6常用語法(下)
- 【Linq】常用語法彙總
- hive sql 常用語法詳解HiveSQL
- emca和emctl常用語法(zt)
- AWK常用語法彙總(轉)
- JSP開發入門(二)----JSP語法的基本原理 (轉)JS
- 常用的DUMP語句ORADEBUG語法
- ES6常用語法總結
- 常用Java8語法小結Java