精品熟女碰碰人人a久久,多姿,欧美欧美a v日韩中文字幕,日本福利片秋霞国产午夜,欧美成人禁片在线观看

JSP 語法


本小節將會簡單地介紹一下jsp開發中的基礎語法。

腳本程序

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

腳本程序的語法格式:

<% 代碼片段 %>

或者,您也可以編寫與其等價的xml語句,就像下面這樣:

    代碼片段 

任何文本、html標簽、jsp元素必須寫在腳本程序的外面。

下面給出一個示例,同時也是本教程的第一個jsp示例:

 hello world hello world!

<%
out.println("your ip address is " + request.getremoteaddr());
%>

注意:請確保apache tomcat已經安裝在c:\apache-tomcat-7.0.2目錄下并且運行環境已經正確設置。

將以上代碼保存在hello.jsp中,然后將它放置在 c:\apache-tomcat-7.0.2\webapps\root目錄下,打開瀏覽器并在地址欄中輸入http://localhost:8080/hello.jsp。運行后得到以下結果:

中文編碼問題

如果我們要在頁面正常顯示中文,我們需要在 jsp 文件頭部添加以下代碼:

<%@ page language="java" contenttype="text/html; charset=utf-8"
    pageencoding="utf-8"%>

接下來我們將以上程序修改為:

<%@ page language="java" contenttype="text/html; charset=utf-8"
    pageencoding="utf-8"%> 碩編程(yapf.com) hello world!

<%
out.println("你的 ip 地址 " + request.getremoteaddr());
%>

這樣中文就可以正常顯示了。

jsp聲明

一個聲明語句可以聲明一個或多個變量、方法,供后面的java代碼使用。在jsp文件中,您必須先聲明這些變量和方法然后才能使用它們。

jsp聲明的語法格式:

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

或者,您也可以編寫與其等價的xml語句,就像下面這樣:

    代碼片段 

程序示例:

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

jsp表達式

一個jsp表達式中包含的腳本語言表達式,先被轉化成string,然后插入到表達式出現的地方。

由于表達式的值會被轉化成string,所以您可以在一個文本行中使用表達式而不用去管它是否是html標簽。

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

jsp表達式的語法格式:

<%= 表達式 %>

同樣,您也可以編寫與之等價的xml語句:

    表達式 

程序示例:

<%@ page language="java" contenttype="text/html; charset=utf-8"
    pageencoding="utf-8"%> 碩編程(yapf.com) 

今天的日期是: <%= (new java.util.date()).tolocalestring()%>

運行后得到以下結果:

今天的日期是: 2016-6-25 13:40:07

jsp注釋

jsp注釋主要有兩個作用:為代碼作注釋以及將某段代碼注釋掉。

jsp注釋的語法格式:

<%@ page language="java" contenttype="text/html; charset=utf-8"
    pageencoding="utf-8"%> 碩編程(yapf.com) <%-- 該部分注釋在網頁中不會被顯示--%> 

今天的日期是: <%= (new java.util.date()).tolocalestring()%>

運行后得到以下結果:

今天的日期是: 2016-6-25 13:41:26

不同情況下使用注釋的語法規則:

語法 描述
<%-- 注釋 --%> jsp注釋,注釋內容不會被發送至瀏覽器甚至不會被編譯
html注釋,通過瀏覽器查看網頁源代碼時可以看見注釋內容
<\% 代表靜態 <%常量
%\> 代表靜態 %> 常量
\' 在屬性中使用的單引號
\" 在屬性中使用的雙引號

jsp指令

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

jsp指令語法格式:

<%@ directive attribute="value" %>

這里有三種指令標簽:

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

jsp行為

jsp行為標簽使用xml語法結構來控制servlet引擎。它能夠動態插入一個文件,重用javabean組件,引導用戶去另一個頁面,為java插件產生相關的html等等。

行為標簽只有一種語法格式,它嚴格遵守xml標準:

 

行為標簽基本上是一些預先就定義好的函數,下表羅列出了一些可用的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 隱含對象

jsp 支持九個自動定義的變量,江湖人稱隱含對象,它們是在 jsp 頁面中自動可用的對象,無需額外的聲明或初始化。

這九個隱含對象的簡介見下表:

對象 描述
request httpservletrequest類的實例,代表 http 請求的對象,包含客戶端發送到服務器的信息,如表單數據、url參數等。
response httpservletresponse類的實例,代表 http 響應的對象,用于向客戶端發送數據和響應。
out jspwriter類的實例,用于向客戶端輸出文本內容的對象,通常用于生成html。
session httpsession類的實例,代表用戶會話的對象,可用于存儲和檢索用戶特定的數據,跨多個頁面。
application servletcontext類的實例,代表 web 應用程序的上下文,可以用于存儲和檢索全局應用程序數據。
config servletconfig類的實例,包含有關當前 jsp 頁面的配置信息,例如初始化參數。
pagecontext pagecontext類的實例,提供對jsp頁面所有對象以及命名空間的訪問
page 類似于 java 類中的 this 關鍵字,代表當前 jsp 頁面的實例,可以用于調用頁面的方法。
exception exception 類的對象,代表發生錯誤的 jsp 頁面中對應的異常對象,用于處理 jsp 頁面中的異常情況,可用于捕獲和處理頁面中發生的異常。

控制流語句

jsp提供對java語言的全面支持。您可以在jsp程序中使用java api甚至建立java代碼塊,包括判斷語句和循環語句等等。

判斷語句

if…else 塊,請看下面這個例子:

<%@ page language="java" contenttype="text/html; charset=utf-8"
    pageencoding="utf-8"%>
<%! int day = 3; %>  碩編程(yapf.com) 

if...else 實例

<% if (day == 1 || day == 7) { %>

今天是周末

<% } else { %>

今天不是周末

<% } %>

運行后得到以下結果:

if...else 實例
今天不是周末

現在來看看switch…case塊,與if…else塊有很大的不同,它使用out.println(),并且整個都裝在腳本程序的標簽中,就像下面這樣:

<%@ page language="java" contenttype="text/html; charset=utf-8"
    pageencoding="utf-8"%>
<%! int day = 3; %>  碩編程(yapf.com) 

switch...case 實例

<% 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("星期六"); } %>

瀏覽器訪問,運行后得出以下結果:

switch...case 實例

星期三

循環語句

在jsp程序中可以使用java的三個基本循環類型:for,while,和 do…while。

讓我們來看看for循環的例子,以下輸出的不同字體大小的"碩編程":

<%@ page language="java" contenttype="text/html; charset=utf-8"
    pageencoding="utf-8"%>
<%! int fontsize; %>  碩編程(yapf.com) 

for 循環實例

<%for ( fontsize = 1; fontsize <= 3; fontsize++){ %> 碩編程 <%}%>

運行后得到以下結果:

將上例改用 while 循環來寫:

<%@ page language="java" contenttype="text/html; charset=utf-8"
    pageencoding="utf-8"%>
<%! int fontsize=0; %>  碩編程(yapf.com) 

while 循環實例

<%while ( fontsize <= 3){ %> 碩編程 <%fontsize++;%> <%}%>
瀏覽器訪問,輸出結果為(fontsize 初始化為0,所以多輸出了一行):

jsp運算符

jsp支持所有java邏輯和算術運算符。

下表羅列出了jsp常見運算符,優先級從高到底:

類別 操作符 結合性
后綴 () [] . (點運算符) 左到右
一元 ++ - - ! ~ 右到左
可乘性 * / %  左到右
可加性 + -  左到右
移位 >> >>> <<   左到右 
關系 > >= < <=   左到右
相等/不等 == !=  左到右
位與 左到右
位異或 左到右
位或 左到右
邏輯與 &&  左到右
邏輯或 ||  左到右
條件判斷 ?:  右到左
賦值 = += -= *= /= %= >>= <<= &= ^= |=  右到左
逗號  左到右 

jsp 字面量

jsp語言定義了以下幾個字面量:

  • 布爾值(boolean):true 和 false;
  • 整型(int):與 java 中的一樣;
  • 浮點型(float):與 java 中的一樣;
  • 字符串(string):以單引號或雙引號開始和結束;
  • null:null。
相關文章