JSP基本語法

JSP基本的語法

腳本程序

腳本程序能夠包含任意量的Java語句、變量、方法或表達式,只要它們在腳本語言中是有效的。html

腳本程序的語法格式:java

<% 代碼片斷 %>

 

 

或者,您也能夠編寫與其等價的XML語句,就像下面這樣:web

<jsp:scriptlet>
   代碼片斷
</jsp:scriptlet>

 

 

 

若是咱們要在頁面正常顯示中文,咱們須要在 JSP 文件頭部添加如下代碼:<>express

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

JSP聲明

個聲明語句能夠聲明一個或多個變量、方法,供後面的Java代碼使用。在JSP文件中,您必須先聲明這些變量和方法而後才能使用它們。瀏覽器

JSP聲明的語法格式:緩存

<%! declaration; [ declaration; ]+ ... %>

 

或者,您也能夠編寫與其等價的XML語句,就像下面這樣:服務器

<jsp:declaration>
   代碼片斷
</jsp:declaration>

 

程序示例:cookie

<%! int i = 0; %> 
<%! int a, b, c; %> 
<%! Circle a = new Circle(2.0); %> 

JSP表達式

一個JSP表達式中包含的腳本語言表達式,先被轉化成String,而後插入到表達式出現的地方。session

因爲表達式的值會被轉化成String,因此您能夠在一個文本行中使用表達式而不用去管它是不是HTML標籤。app

表達式元素中能夠包含任何符合Java語言規範的表達式,可是不能使用分號來結束表達式。

JSP表達式的語法格式:

<%= 表達式 %>

 

一樣,您也能夠編寫與之等價的XML語句:

<jsp:expression>
   表達式
</jsp:expression>

 

程序示例:

<%@ 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>
<p>
   今天的日期是: <%= (new java.util.Date()).toLocaleString()%>
</p>
</body> 
</html>

 

 

JSP註釋(在查看頁面源碼的時候不會看見)

語法 描述
<%-- 註釋 --%> JSP註釋,註釋內容不會被髮送至瀏覽器甚至不會被編譯
<!-- 註釋 --> HTML註釋,經過瀏覽器查看網頁源代碼時能夠看見註釋內容
<\% 表明靜態 <%常量
%\> 表明靜態 %> 常量
\' 在屬性中使用的單引號
\" 在屬性中使用的雙引號

 

 

JSP指令

JSP指令用來設置與整個JSP頁面相關的屬性。

JSP指令語法格式:

<%@ directive attribute="value" %>

 

三種指令:

指令 描述
<%@ page ... %> 定義頁面的依賴屬性,好比腳本語言、error頁面、緩存需求等等
<%@ include ... %> 包含其餘文件
<%@ taglib ... %> 引入標籤庫的定義,能夠是自定義標籤


例如:
<%@include file="/tag.jsp"%>

 

<%@ taglib uri="http://java.sun.com/jsp/jstl/core"  prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"  prefix="fmt"%>

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

 





JSP行爲

JSP行爲標籤使用XML語法結構來控制servlet引擎。它可以動態插入一個文件,重用JavaBean組件,引導用戶去另外一個頁面,爲Java插件產生相關的HTML等等。

行爲標籤只有一種語法格式,它嚴格遵照XML標準:

<jsp:action_name attribute="value" />

行爲標籤基本上是一些預先就定義好的函數,下表羅列出了一些可用的JSP行爲標籤::

語法 描述
jsp:include 用於在當前頁面中包含靜態或動態資源
jsp:useBean 尋找和初始化一個JavaBean組件
jsp:setProperty 設置 JavaBean組件的值
jsp:getProperty 將 JavaBean組件的值插入到 output中
jsp:forward 從一個JSP文件向另外一個文件傳遞一個包含用戶請求的request對象
jsp:plugin 用於在生成的HTML頁面中包含Applet和JavaBean對象
jsp:element 動態建立一個XML元素
jsp:attribute 定義動態建立的XML元素的屬性
jsp:body 定義動態建立的XML元素的主體
jsp:text 用於封裝模板數據
 
<jsp:include page="date.jsp" flush="true" />

 

JSP隱含對象

JSP支持九個自動定義的變量,江湖人稱隱含對象。這九個隱含對象的簡介見下表:

對象 描述
request HttpServletRequest類的實例
response HttpServletResponse類的實例
out PrintWriter類的實例,用於把結果輸出至網頁上
session HttpSession類的實例
application ServletContext類的實例,與應用上下文有關
config ServletConfig類的實例
pageContext PageContext類的實例,提供對JSP頁面全部對象以及命名空間的訪問
page 相似於Java類中的this關鍵字
Exception Exception類的對象,表明發生錯誤的JSP頁面中對應的異常對象




JSP四大做用域

  page、request、session、application

 

  這四大做用域,其實就是其九大內置對象中的四個,爲何說他們也是JSP的四大做用域呢?由於這四個對象都能存儲數據,好比request.setAttribute()注意和request.setParameter()區分開來,一個是存儲在域中的、一個是請求參數,session.setAttribute()、application其實就是SerlvetContext,天然也有setAttribute()方法。而page做用域的操做就須要依靠pageContext對象來進行了。在上面咱們也有提到JSP的四大做用域,

        page做用域:表明變量只能在當前頁面上生效

        request:表明變量能在一次請求中生效,一次請求可能包含一個頁面,也可能包含多個頁面,好比頁面A請求轉發到頁面B

        session:表明變量能在一次會話中生效,基本上就是能在web項目下都有效,session的使用也跟cookie有很大的關係。通常來講,只要瀏覽器不關閉,cookie就會一直生效,cookie生效,session的使用就不會受到影響。

        application:表明變量能一個應用下(多個會話),在服務器下的多個項目之間都可以使用。好比baidu、wenku等共享賬號。





參考:http://www.javashuo.com/article/p-rkzyoiyu-eb.html
相關文章
相關標籤/搜索