jsp基礎教程入門介紹_第1頁
jsp基礎教程入門介紹_第2頁
jsp基礎教程入門介紹_第3頁
jsp基礎教程入門介紹_第4頁
jsp基礎教程入門介紹_第5頁
已閱讀5頁,還剩131頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1第3章

JSP動態(tài)網(wǎng)頁設計基礎

2了解和掌握HTML語法、CSS語法掌握JSP注釋、變量和方法的聲明掌握JSP指令、JSP動作(Action)語法學習目標3學習內容HTML語法CSS語法JavaScript腳本JSP注釋變量、方法的聲明JSP指令JSP動作(Action)語法JSP腳本4HTML文件的一般格式:<html><head><title>網(wǎng)頁標題</title></head><body>

網(wǎng)頁正文</body></html>5<html><head><title>使用標題標簽</title></head><body><H1align="center">歡迎學習JSP!??!</H1><H2align="center">歡迎學習JSP?。?!</H2><H3align="center">歡迎學習JSP?。?!</H3></body></html>6加入超級鏈接1、錨點標記格式:<Ahref=“地址”

name=“字符串”

target=“打開窗口方式”>熱點</A>例如:<AHREF=“”>山東農業(yè)大學</A>7加入表單一個表單至少應該包括:表單標簽:處理表單數(shù)據(jù)所用CGI程序的URL以及數(shù)據(jù)提交到服務器的方法。表單域:文本框、密碼框、隱藏域、多行

文本框、復選框、單選框、下拉選擇框和文件上傳框等。表單按鈕:提交按鈕、復位按鈕和一般按鈕81.表單標記<FORMaction=mailto:mail地址或網(wǎng)址

method=get|post>

<INPUTtype=“表項名”

name=“名”

size=xmaxlenth=y>

…..</FORM>action屬性:E-MAIL地址或網(wǎng)址。

method屬性:GET/POST<INPUT>標記:表單中提供給用戶的輸入形式。92、文字和密碼的輸入:type屬性為text:輸入文本以標準的字符顯示。type屬性為password:輸入文本顯示為“*”。3、重置和提交<INPUTtype=“reset”value=“按鈕名”><INPUTtype=“submit”value=“按鈕名”>104、復選框和單選鈕<INPUTtype=“radio”name=“控制名”value=“控制初值”checked><INPUTtype=“checkbox”name=“控制名”value=“控制初值”>checked表示是否為默認選中項。11head部分包含元素及描述:title:文檔標題。meta:描述非html標準的一些文檔信息。link:描述當前文檔與其他文檔之間的連接關系。base:定義體試時默認的外部資源。script:腳本程序內容style:樣式表內容121、title:

title包含的內容將會被顯示在瀏覽器窗口的標題欄中。語法格式:

<title>……

……</title>

在省略號處加入的文字或符號,都將顯示在瀏覽器的標題欄中。132、meta:

下面是meta的幾種用法:(1)定義搜索關鍵字:

<metaname="keywords"content="html,css,javascript">

<metaname="description"content="網(wǎng)頁制作">meta元素提供的信息是用戶不可見的,只是提供給那些搜索引擎使用。14(2)控制頁面緩存:<metahttp-equiv="pragma"content="no-cache">

在用戶下次打開網(wǎng)頁時,瀏覽器直接調用硬盤上緩存的上次臨時版本。如果每次打開網(wǎng)頁的時看到最新版本,就加上該語句!15(3)定義語言:

<metahttp-equiv=“content-type”content=“text/html;charset=GB2312”>

設定語言的編碼方式。便于瀏覽器正確的選擇語言,不需要人工選取。16(4)自動刷新頁面<METAhttp-equiv=“Refresh”content=“秒數(shù);url=新頁面”>注意:<META>標識必須放置在<head>…</head>中http-equiv屬性值設置為“Refresh”時,要求顯示URL指定的文件。173、script:用來在頁面中加入腳本程序。<scriptlanguage="腳本語言">

……

……

</script>

在language中一定要指定腳本語言的種類。如VBScript等。184、style:用來指定當前文檔的css層疊樣式表。css對于網(wǎng)頁的字體樣式、背景、邊界等都有很大的應用。193.2CSS語法

CSS簡介CSS基本語法CSS基本屬性20一、CSS簡介CSS(CascadingStyleSheet-“層疊樣式表”或“級聯(lián)樣式單”)

制作網(wǎng)頁時采用CSS技術,可以有效地對頁面布局、字體、顏色、背景和其它效果實現(xiàn)更加精確的控制,可以改變同一頁面的不同部分,或者頁數(shù)不同的網(wǎng)頁的外觀和格式。21“Cascading”

即在同一個Web文檔中可以有多個樣式表存在,根據(jù)所在的位置,擁有不同的優(yōu)先級。優(yōu)先級越高,就會被最后在顯示時采用。

從樣式表插入的形式來看可以分為三種:1、內聯(lián)式樣式表:

利用現(xiàn)有的HTML標記把特殊的樣式加入到那些由標記控制的信息中。22

2、嵌入式樣式表:嵌入到HTML文件的頭部中去(<html>和<body>標記之間),使用<Style>…</Style>容器裝載,例如:

<style>p{color:blue;font-weight:bold}</style>

對頁面中所有<p>標記都起作用。23

3、外部式樣式表:

一種保存在外部的樣式表文件,外部文件以.CSS為擴展名,例如:

<linkrel=stylesheethref="main-sheet.css"type="text/css">

24CSS擴展HTML但不能脫離HTML,僅是一項輔助工具。減少圖形文件使用。CSS提供很多文字樣式,可輕松取代原來圖形表現(xiàn)的視覺效果。集中管理樣式信息。CSS可將網(wǎng)頁要展示內容與樣式設定分開。設定共享樣式。CSS樣式信息存成獨立文件,讓多個網(wǎng)頁文件共同使用。樣式分類使用。在一份HTML網(wǎng)頁文件上套用多個CSS樣式文件。25二、CSS基本語法

CSS的基本語法:

基本格式、注釋語句、選擇符等是開發(fā)CSS基礎。通常,樣式表的定義分為選擇符(selector)和塊{}(block),塊里包含屬性(properties)和屬性的取值(value).格式:選擇符{屬性:屬性值}

26格式:選擇符{屬性:屬性值}

開發(fā)人員可以在CSS中插入注釋來說明代碼含義。CSS注釋以“/*”

開頭,以“*/”

結尾。CSS中,選擇符可以分為:HTML標記選擇符(HTMLselector)、類選擇符(Classselector)ID選擇符(IDselector)。

27<html>

<head><styletype="text/css"><!--.m{font-family:"隸書";font-size:18px;color:#ff0000;text-decoration:line-through;}--></style></head><body>

<pclass="m">這里是FIF制作小組</p>

<aclass="m"href="#">這里是FIF制作小組</a></body></html>

281.類選擇符<styletype="text/css">

.m{font-family:"隸書";font-size:18px;color:#ff0000;text-decoration:line-through;}</style><body><pclass=“m”>請注意</p><aclass="m"href="#">這里是FIF制作小組</a></body></html>29<html><head><styletype="text/css">a{font-size:36px;color:#ff0000;text-decoration:line-through;}</style></head><body><p>這里是FIF制作小組<br><ahref="#">這里是FIF制作小組</a></body></html>2、HTML標記選擇符

30<html><head><styletype="text/css">

#5{font-size:24px;color:#0000ff;text-decoration:line-through;}</style></head><body><pid="5">這里是FIF制作小組<br><aid="5"href="#">這里是FIF制作小組</a></body></html>3、ID選擇符31<pstyle=“font-size:48;font-style:bold;color:red;”>hongen</p>

這里Style是內嵌到<P>中來定義該段落內的格式的。在<BODY>中用<STYLE=>直接定義。這種定義方法非常適用于編寫的代碼比較多的情況。

而上面的代碼的CSS定義格式則非常適用于代碼較少、結構較簡單的情況。

32怎樣編寫CSS?

1、把CSS文檔放到<head>文檔中:

<styletype=“text/css”>……</style>

其中<style>中的“type=‘text/css’”的意思是<style>中的代碼是定義樣式表單的。332、把CSS樣式表寫在HTML的行內。如:

<pstyle=“font-size:14pt;color:blue”>藍色14號文字</p>

采用<Style=“

”>的格式把樣式寫在html中的任意行內,這樣比較方便靈活。343、把編輯好的CSS文檔保存成“.CSS”文件,然后在<head>中定義。定義格式:

<head><linkrel=stylesheethref=“style.css”>……</head>

“href=‘style.css’”指需要連接的文件地址。353.3JavaScript腳本語言JavaScript語言概況

JavaScript基本數(shù)據(jù)結構

JavaScript程序構成

基于對象的JavaScript語言創(chuàng)建新對象

使用內部對象系統(tǒng)

窗口及輸入輸出

WEB頁面信息的交互

363.3.1JavaScript

JavaScript是一種基于對象(Object)和事件驅動(EventDriven)并具有安全性能的腳本語言。使用目的是與HTML語言、Java腳本語言(Java小程序)一起實現(xiàn)在一個Web頁面中鏈接多個對象,與Web客戶交互,從而開發(fā)客戶端應用程序。它通過嵌入或調入在標準的HTML語言中實現(xiàn)的。373.3.2JavaScript和JavaJava是SUN公司推出的新一代面向對象的程序設計語言,特別適合于Internet應用程序開發(fā);而JavaScript是Netscape公司的產品,其目的是為擴展NetscapeNavigator功能而開發(fā)的一種可以嵌入Web頁面中的基于對象和事件驅動的解釋性語言。38Java是一種面向對象的語言,即使是開發(fā)簡單的程序,必須設計對象。

JavaScript是種腳本語言,它是一種基于對象(ObjectBased)和事件驅動(EventDriver)的編程語言。它本身提供豐富的內部對象供設計人員使用。

39Java的源代碼在傳遞到客戶端執(zhí)行之前,必須經過編譯,因而客戶端上必須具有相應平臺上的仿真器或解釋器,它可以通過編譯器或解釋器實現(xiàn)獨立于某個特定的平臺編譯代碼的束縛。

JavaScript是一種解釋性編程語言,其源代碼在發(fā)往客戶端執(zhí)行之前不需經過編譯,而是將文本格式的字符代碼發(fā)送給客戶編由瀏覽器解釋執(zhí)行。403.3.3JavaScript基本數(shù)據(jù)結構一、JavaScript代碼的加入

直接將JavaScript腳本加入HTML文檔:

<ScriptLanguage=“JavaScript”>

JavaScript語言代碼;

JavaScript語言代碼;

</Script>41二、基本數(shù)據(jù)類型

數(shù)值(整數(shù)和實數(shù))、

字符串型(用“”號或‘’括起來的字符或數(shù)值)、

布爾型(True或False)和空值。

JavaScript采用弱類型的形式,因而一個數(shù)據(jù)的

變量或常量不必首先作聲明,而是在使用或賦值時確定其數(shù)據(jù)的類型的。當然也可以先聲明該數(shù)據(jù)的類型,它是通過在賦值時自動說明其數(shù)據(jù)類型的。

42(1)整型常量

JavaScript的常量通常又稱字面常量,它是不能改變的數(shù)據(jù)。其整型常量可以使用十六進制、八進制和十進制表示其值。

(2)實型常量

實型常量是由整數(shù)部分加小數(shù)部分表示,如12.32、193.98??梢允褂每茖W或標準方法表示:5E7、4e5等。2、常量43(3)布爾值

布爾常量只有兩種狀態(tài):True或False。它主要用來說明或代表一種狀態(tài)或標志,以說明操作流程。JavaScript只能用True或False表示其狀態(tài)。2、常量(4)字符型常量

使用單引號(‘)或雙引號(“)括起來的一個或幾個字符。如"ThisisabookofJavaScript"、"3245"、"ewrt234234"等。

44

(5)空值

JavaScript中有一個空值null,表示什么也沒有。如試圖引用沒有定義的變量,則返回一個Null值。

(6)特殊字符

同C語言一樣,JavaScript中同樣以有些以反斜杠(/)開頭的不可顯示的特殊字符。通常稱為控制字符。

453、變量

(1)變量的命名

必須是一個有效的變量,即變量以字母開頭,中間可以出現(xiàn)數(shù)字如test1、text2等。除下劃線(-)作為連字符外,變量名稱不能有空格、(+)、(-)、(,)或其它符號。不能使用JavaScript中的關鍵字作為變量。

在JavaScript中定義了40多個類鍵字,這些關鍵是JavaScript內部使用的,不能作為變量的名稱。如Var、int、double、true不能作為變量的名稱。46(2)變量的類型

可以用命令Var作聲明:

varmytest;

Varmytest=”Thisisabook”變量可以在使用時再根據(jù)數(shù)據(jù)類型確定變量類型。

如:

x=100y="125"

xy=Truecost=19.5。

其中x整數(shù),y為字符串,xy為布爾型,cost為實型。47(3)變量的聲明及其作用域

變量的作用域。全局變量是定義在所有函數(shù)體之外,其作用范圍是整個函數(shù);而局部變量是定義在函數(shù)體之內,只對其該函數(shù)是可見的,而對其它函數(shù)則是不可見的。

48三、表達式和運算符1、表達式

算術表述式、字串表達式、賦值表達式、布爾表達式。2、運算(1)算術運算符(單目運算符和雙目運算符)49(2)比較運算符

(3)布爾邏輯運算符

增加了幾個布爾邏輯運算符:

!(取反)、&=(與之后賦值)、&(邏輯與)、

|=(或之后賦值)、|(邏輯或)、^=(異或之后賦值)、^(邏輯異或)、?:(三目操作符)、||(或)、==(等于)、|=(不等于)。503.3.4JavaScript程序構成一、程序控制流

1、if條件語句

基本格式

if(表述式)

語句段1;

else

語句段2;

2、For循環(huán)語句

for(初始化;條件;增量)

語句集;513.3.4JavaScript程序構成3、while循環(huán)

基本格式

while(條件)

語句集;4、break和continue語句

52二、函數(shù)

1、JavaScript函數(shù)定義

Function函數(shù)名(參數(shù),變元){

函數(shù)體;.

Return表達式;

}2、函數(shù)中的形式參數(shù):

函數(shù)名后有參數(shù)表,參數(shù)變量可能是一個或幾個。在JavaScript中可通過arguments.Length來檢查參數(shù)的個數(shù)。

53三、事件驅動及事件處理

1、基本概念

JavaScript是object-based的語言。即在圖形界面環(huán)境下,使得一切輸入變化簡單化。通常鼠標或熱鍵的動作稱之為事件(Event),而由鼠標或熱鍵引發(fā)的一連串程序的動作,稱之為事件驅動(EventDriver)。而對事件進行處理程序或函數(shù),稱之為事件處理程序(EventHandler)。542、事件處理程序

在JavaScript中對象事件的處理通常由函數(shù)(Function)擔任。其基本格式與函數(shù)全部一樣。格式如下:

Function事件處理名(參數(shù)表){

事件處理語句集;

}553、事件驅動

事件通過鼠標或熱鍵的動作引發(fā)。主要有以下事件:

(1)單擊事件onClick

當用戶單擊鼠標按鈕時,產生onClick事件。通常在下列基本對象中產生:button(按鈕對象)checkbox(復選框)或(檢查列表框)radio(單選鈕)resetbuttons(重要按鈕)submitbuttons(提交按鈕)56例:可通過下列按鈕激活change()文件:

<Form>

<Inputtype="button"Value=“

”onClick="change()">

</Form>在onClick等號后,可以使用自己編寫的函數(shù)作為事件處理程序,也可以使用JavaScript中內部的函數(shù)。還可以直接使用JavaScript的代碼等。例:

<Inputtype="button"value=""onclick=alert("這是一個例子");57(2)onChange改變事件

當利用text或texturea元素輸入字符值改變時發(fā)該事件,同時當在select表格項中一個選項狀態(tài)改變后也會引發(fā)該事件。

例:

<Form>

<Inputtype="text"name="Test"value="Test"onCharge="check(this.test)">

</Form>58

(3)選中事件onSelect

當Text或Textarea對象中的文字被加亮后,引發(fā)該事件。(4)獲得焦點事件onFocus

當用戶單擊Text或textarea及select對象時產生該事件。此時該對象成為前臺對象。(5)失去焦點onBlur

當text對象或textarea對象以及select對象不再擁有焦點、而退到后臺時,引發(fā)該文件,他與onFocas事件是一個對應的關系。59(6)載入文件onLoad

當文檔載入時,產生該事件。onLoad一個作用就是在首次載入一個文檔時檢測cookie的值,并用一個變量為其賦值,使它可以被源代碼使用。(7)卸載文件onUnload

當Web頁面退出時引發(fā)onUnload事件,并可更新Cookie的狀態(tài)。60<HTML>

<HEAD>

<scriptLanguage="JavaScript">

<!--

functionloadform(){

alert("這是一個自動裝載例子!");}

functionunloadform(){

alert("這是一個卸載例子!");}

//-->

</Script>

</HEAD>

<BODYOnLoad="loadform()"OnUnload="unloadform()">

<ahref="test.htm">調用</a></BODY></HTML>下例程序當裝入HTML文檔時調用loadform()函數(shù),而退出該文檔進入另一HTML文檔時則首先調用unloadform()函數(shù),確認后方可進入。613.3.5基于對象的JavaScript語言一、對象的基礎知識1、對象的基本結構

JavaScript中的對象是由屬性(properties)和方法(methods)兩個基本的元素構成。2、引用對象的途徑一個對象要被使用,可采用以下幾種方式:引用JavaScript內部對象;由瀏覽器環(huán)境中提供;創(chuàng)建新對象。

623、有關對象操作語句

(1)

For...in語句格式如下:

For(對象屬性名in已知對象名)用于對已知對象的所有屬性進行操作的控制循環(huán)。它是將一個已知對象的所有屬性反復置給一個變量;而不是使用計數(shù)器來實現(xiàn)的。優(yōu)點是無需知道對象中屬性的個數(shù)即可操作。63例:

FunctionshowData(object)for(varpropinobject)document.write(object[prop]);使用該函數(shù)時,在循環(huán)體中,F(xiàn)or自動將的屬性取出來,直到最后為此。64(2)with語句:該語句體內,任何對變量的引用被認為是這個對象的屬性。withobject{...}

所有在with語句后的花括號中的語句,都在后面object對象的作用域中。65(3)this關鍵字

在JavaScript由于對象的引用是多層次,多方位的,對象間的彼此引用較多,有可能造成混亂,為此JavaScript提供語句this用于指定當前對象。66(4)New運算符

使用New運算符可創(chuàng)建一個新對象。格式:Newobject=NEWObject(Parameterstable);如創(chuàng)建一個日期新對象newData=NewData()birthday=NewData(Decembe?12.1998)674、對象屬性的引用

(1)使用點(.)運算符

university.Name=“云南省”

university.city=“昆明市”

university.Date="1999"

其中university是一個已經存在的對象,Name、City?Date是它的三個屬性,并通過操作對其賦值。68

(2)通過對象的下標實現(xiàn)引用

university[0]=“云南”

university[1]=“昆明市”

university[2]="1999"(3)通過字符串的形式實現(xiàn)

university["Name"]=“云南”

university["City"]=“昆明市”

university["Date"]="1999"695、對象的方法的引用ObjectName.methods()如:引用university對象中showmy()可使用:

document.write(university.showmy())或:document.write(university)70如引用math內部對象中cos()的方法,則:with(math)document.write(cos(35)?document.write(cos(80));若不使用with則引用時相對要復雜些:document.write(Math.cos(35))document.write(math.sin(80))71二、常用對象的屬性和方法1、常用內部對象1)、string對象

使用格式:objectName.op/methods(1)串對象的屬性該對象只有一個屬性,即length。例:mytest="ThisisaJavaScript"mystringlength=mytest.length72(2)string對象方法方法共有19個。主要用于有關字符串在Web頁面中的顯示、字體大小、字體顏色、字符的搜索以及字符的大小寫。732、算術函數(shù)的math對象(1)主要屬性提供6個屬性,學中經常用到的常數(shù)E、以10為底的自然對數(shù)LN10、以2為底的自然對數(shù)LN2、3.14159的PI、1/2的平方根SQRT1-2,2的平方根為SQRT2。742、算術函數(shù)的math對象(2)主要方法絕對值:abs()

正弦余弦值:sin(),cos()

反正弦反余弦:asin(),acos()

正切反正切:tan(),atan()

四舍五入:round()

平方根:sqrt()

基于幾方次的值:Pow(base,exponent)753、日期及時間對象必須使用New運算符創(chuàng)建一個實例。例:MyDate=NewDate()Date對象沒有提供直接訪問的屬性。

(1)獲取日期的時間方法getYear():年數(shù)getMonth():當月號數(shù)getDate():當日號getDay():星期幾getHours():小時數(shù)getMintes():分鐘數(shù)getSeconds():秒數(shù)getTime():毫秒數(shù)76(2)設置日期和時間:setYear();設置年setDate():設置當月號數(shù)setMonth():設置當月份數(shù)setHours():設置小時數(shù)setMintes():設置分鐘數(shù)setSeconds():設置秒數(shù)setTime():設置毫秒數(shù)772、JavaScript中的系統(tǒng)函數(shù)1.返回字符串表達式中的值:方法名:eval(字串表達式),例:?test=eval("8+9+5/2");2.返回字符串ASCI碼:方法名:unEscape(string)

3.返回字符的編碼:方法名:escape(chara?er)4.返回實數(shù):parseFloat(floustring);5、返回不同進制的數(shù):parseInt(numbestring,rad.X)其中radix是數(shù)的進制,numbs字符串數(shù)783.3.6創(chuàng)建新對象一、對象的定義基本格式如下:

FunctionObject(屬性表)

Tp1=prop1Tp2=prop2...This.meth=FunctionName1;This.meth=FunctionName2;...

在一個對象的定義中,可以為該對象指明其屬性和方法。通過屬性和方法構成一個對象的實例。79

如:University對象的定義

Functionuniversity(name,city,creatDateURL)T=nameThis.city=cityThis.creatDate=NewDate(creatDate)This.URL=URL

其中:Name-指定一個“單位”名稱。

City-“單位”所在城市。

CreatDate-記載university對象更新日期。

URL-該對象指向一個網(wǎng)址。80二、創(chuàng)建對象實例對象定義完成后,可以為該對象創(chuàng)建一個實例:

NewObject=Newobject();

例:U1=Newuniversity(“云南省”,“昆明市”,"January05,199712:00:00","http://www.YN.KM")81三、對象方法的使用

在對象中還需要使用方法。在對象的定義中,This.meth=FunctionName語句,就是為定義對象的方法。而對象的方法就是一個函數(shù)FunctionName。82例:在university對象中增加一個方法,該方法是顯示它自己本身,并返回相應串。

functionuniversity(name,city,createDate,URL)This.Name=Name;This.city=city;This.createDate=NewDate(creatDate);

This.URL=URL;This.showuniversity=showuniversity;

functionshowuniversity()For(varpropinthis)alert(prop+="+this[prop]+"");

其中alert是JavaScript中的內部函數(shù),顯示其字符串。83定義對象的數(shù)組

FunctionarrayName(size){This.length=Size;for(varX=;X<=size;X++)this[X]=0;Returethis;}其中arrayName是定義數(shù)組的一個名子,Size是有關數(shù)組大小的值(1-size),即數(shù)組元素的個數(shù)。通過for循環(huán)對一個當前對象的數(shù)組進行定義,最后返回這個數(shù)組。3.3.6JavaScript中的數(shù)組

84一個數(shù)組定義完成以后,還不能馬上使用,必須為該數(shù)組創(chuàng)建一個數(shù)組實例:Myarray=NewarrayName(n);并賦于初值:Myarray[1]=“字串1”;Myarray[2]=“字串2”;Myarray[3]=“字串3”;...Myarray[n]=“字串n”;一旦給數(shù)組賦于了初值后,數(shù)組中就具有真正意義的數(shù)據(jù)了,以后就可以在程序設計過程中直接引用。853.3.7WEB頁面信息的交互一、窗體基礎知識窗體(Form):它構成了Web頁面的基本元素。通常一個Web頁面有一個窗體或幾個窗體,使用Forms[]數(shù)組來實現(xiàn)不同窗體的訪問。<formName=Form1><INPUTtype=text...><Inputtype=text...><Inpupbyne=text...></form><formName=Form2><INPUTtype=text...><Inputtype=text...></form>在Forms[0]中共有三個基本元素,而Forms[1]中只有兩個元素。窗體對象最主要的功能就是能夠直接訪問HTML文檔中的窗體,它封裝了相關的HTML代碼:86窗體對象最主要的功能就是能夠直接訪問HTML文檔中的窗體,它封裝了相關的HTML代碼:<FormName="表的名稱"Target="指定信息的提交窗口"action="接收窗體程序對應的URL"Method=信息數(shù)據(jù)傳送方式(get/post)enctype="窗體編碼方式"[onsubmit="JavaScript代碼"]></Form>872、窗體對象的方法窗體對象的方法只有一個--submit()方法,該方法主要功用就是實現(xiàn)窗體信息的提交。如提交Mytest窗體,則使用下列格式:document.mytest.submit()

3、窗體對象的屬性窗體對象中的屬性主要包括以下:elementsnameactiontargetencodingmethod.除Elements外,其它幾個均反映了窗體中標識中相應屬性的狀態(tài),這通常是單個窗體標識;而elements常常是多個窗體元素值的數(shù)組,例:elements[0].Mytable.elements[1]

884、訪問窗體對象在JavaScript中訪問窗體對象可由兩種方法實現(xiàn):(1)通過訪問窗體在窗體對象的屬性中首先必須指定其窗體名,而后就可以通過下列標識訪問窗體如:document.Mytable()。(2)通過數(shù)組來訪問窗體除了使用窗體名來訪問窗體外,還可以使用窗體對象數(shù)組來訪問窗體對象。但需要注意一點,因窗體對象是由瀏覽器環(huán)境的提供的,而瀏覽器環(huán)境所提供的數(shù)組下標是由0到n。所以可通過下列格式實現(xiàn)窗體對象的訪問:document.forms[0]document.forms[1]document.forms[2]...5、引用窗體的先決條件在JavaScript中要對窗體引用的條件是:必須先在頁面中用標識創(chuàng)建窗體,并將定義窗體部分放在引用之前。89二、窗體中的基本元素窗體中的基本元素由按鈕、單選按鈕、復選按鈕、提交按鈕、重置按鈕、文本框等組成。

在JavaScript中要訪問這些基本元素,必須通過對應特定的窗體元素的數(shù)組下標或窗體元素名來實現(xiàn)。每一個元素主要是通過該元素的屬性或方法來引用。其引用的基本格式見下:formName.elements[].methadName(窗體名.元素名或數(shù)組.方法)formName.elemaent[].propertyName(窗體名.元素名或數(shù)組.屬性)901、Text單行單列輸入元素功能:對Text標識中的元素實施有效的控制?;緦傩裕篘ame:設定提交信息時的信息名稱。對應于HTML文檔中的Name。Value:用以設定出現(xiàn)在窗口中對應HTML文檔中Value的信息。defaultvalue:包括Text元素的默認值基本方法:blur():將當前焦點移到后臺。select():加亮文字。主要事件:onFocus:當Text獲得焦點時,產生該事件。OnBlur:從元素失去焦點時,產生該事件。Onselect:當文字被加亮顯示后,產生該文件。onchange:當Text元素值改變時,產生該文件。例:...<Formname="test"><inputtype="text"name="test"value="thisisajavascript"></form>...<scriptlanguage="Javascirpt">document.mytest.value="thatisaJavascript";document.mytest.select();document.mytest.blur();</script>

912、textarea多行多列輸入元素功能:實施對Textarea中的元素進行控制。基本屬性name:設定提交信息時的信息名稱,對應HTML文檔Textarea的Name。Value:用以設定出現(xiàn)在窗口中對應HTML文檔中Value的信息。Defaultvalue:元素的默認值。方法:blur():將輸入焦點失去select():將文字加亮后事件:onBlur:當失去輸入焦點后產生該事件onFocus:當輸入獲得焦點后,產生該文件Onchange:當文字值改變時,產生該事件Onselect:當文字加亮后,產生該文件

923、Select選擇元素功能:實施對滾動選擇元素的控制。屬性:name:設定提交信息時的信息名稱,對應文檔select中的name。Length:對應文檔select中的lengthoptions:組成多個選項的數(shù)組selectIndex;該下標指明一個選項select在中每一選項都含有以下屬性:Text:選項對應的文字selected:指明當前選項是否被選中Index:指明當前選項的位置defaultselected:默認選項事件:OnBlur:當select選項失去焦點時,產生該文件。onFocas:當select獲得焦點時,產生該文件。Onchange:選項狀態(tài)改變后,產生該事件。

934、Button按鈕功能:實施對Button按鈕的控制。屬性:Name:設定提交信息時的信息名稱,對應文檔中button的Name。Value:用以設定出現(xiàn)在窗口中對應HTML文檔中Value的信息。方法:click()該方法類似于一個按下的按鈕。事件:onclick當單擊button按鈕時,產生該事件。例:<Formname="test"><inputtype="button"name="testcall"onclick=tmyest()></form>...<scriptlanguage="javascirpt">document.elements[0].value="mytest";//通過元素訪問或document.testcallvalue="mytest";//通過名字訪問</script>

945、checkbox檢查框功能:實施對一個具有復選框中元素的控制。屬性:name:設定提交信息時的信息名稱。Value:用以設定出現(xiàn)在窗口中對應HTML文檔中Value的信息。Checked:該屬性指明框的狀態(tài)true/false.defauitchecked:默認狀態(tài)方法:click()該方法使得框的某一個項被選中。事件:onclick:當框的選被選中時,產生該事件。956、radio無線按鈕功能:實施對一個具單選功能的無線按鈕控制。屬性:name:設定提交信息時的信息名稱,對應HTML文檔中的radio的name相同value:用以設定出現(xiàn)在窗口中對應HTML文檔中Value的信息,對應HTML文檔中的radio的name。length:單選按鈕中的按鈕數(shù)目。defalechecked:默認按鈕。checked:指明選中還是沒有選中。index:選中的按鈕的位置。方法:chick():選定一個按鈕。事件:onclick:單擊按鈕時,產生該事件。

967、hidden:隱藏功能:實施對一個具有不顯示文字并能輸入字符的區(qū)域元素的控制。屬性:name:設定提交信息時的信息名稱,對應HTML文檔的hidden中的Name。Value:用以設定出現(xiàn)在窗口中對應HTML文檔中Value的信息,對應HTML文檔hidden中的value。defaleitvalue:默認值978、Password口令功能:實施對具有口令輸入的元素的控制。屬性:Name:設定提交信息時的信息名稱,對應HTML文檔中password中的name。Value:用以設定出現(xiàn)在窗口中對應HTML文檔中Value的信息,對應HTML文檔中password中的Value。defaultvalu:默認值方法select():加亮輸入口令域。blur():使這丟失passward輸入焦點。focus():獲得password輸入焦點。

989、submit提交元素功能:實施對一個具有提交功能按鈕的控制。屬性:name:設定提交信息時的信息名稱,對應HTML文檔中submit。Value:用以設定出現(xiàn)在窗口中對應HTML文檔中Value的信息,對應HTML文檔中value。方法click()相當于按下submit按鈕。事件:onclick()當按下該按鈕時,產生該事件。99三、范例

test8_1.htm<html><head><ScriptLanguage="JavaScript">//原來的顏色document.bgColor="blue";document.vlinkColor="white";document.linkColor="yellow";document.alinkcolor="red";//動態(tài)改變顏色functionchangecolor(){document.bgColor="red";document.vlinkColor="blue";document.linkColor="green";document.alinkcolor="blue";}</script></HEAD><bodybgColor="White"><Ahref="test8_2.htm">調用動態(tài)按鈕文檔</a><form><Inputtype="button"Value="red"onClick="changecolor()"></form></BODY></HTML>100動態(tài)按鈕程序。test8_2.htm<HTML><HEAD></HEAD><palign="center">

</p><divalign="center"><center><tableborder="0"cellspacing="0"cellpadding="0"><tr><tdwidth="100%"><formname="form2"onSubmit="null"><p><inputtype="submit"name="banner"VALUE="Submit"onClick="alert('Youhavetoputan\'action=[url]\'ontheformtag!!')"><br><scriptlanguage="JavaScript">varid,pause=0,position=0;functionbanner(){//variablesdeclarationvari,k,msg="這里輸入你要的內容";//increasemsgk=(30/msg.length)+1;for(i=0;i<=k;i++)msg+=""+msg;//showittothewindowdocument.form2.banner.value=msg.substring(position,position-30);//setnewpositionif(position++==msg.length)position=0;//repeatatenteredspeedid=setTimeout("banner()",60);}//end-->banner();</script></p></form></td></tr></table></center></div><p>

</p><BODY><Ahref="test8_1.htm">返回</a></BODY></HTML>1014.3JSP注釋隱藏注釋HTML注釋Java注釋102隱藏注釋隱藏注釋也是JSP的標準注釋,寫在JSP程序中,在發(fā)布網(wǎng)頁時完全被忽略,不發(fā)給客戶,當希望隱藏JSP程序的注釋時是很有用的。其語法格式為:<%--comment--%>,comment為想要添加的文本注釋。103HTML注釋HTML注釋在發(fā)布網(wǎng)頁時可以在瀏覽器源文件窗口中可以看到,并且在這種注釋中可以使用JSP的表達式,其語法格式為:<!--comment[<%=expression%>]-->,其中comment可以是文字說明,expression為JSP表達式。104Java注釋在JSP程序中,也可以遵循Java語言本身的注釋規(guī)則對代碼進行注釋,這樣的注釋和隱藏注釋相似,在發(fā)布網(wǎng)頁被完全忽略,在瀏覽器的源文件窗口中看不到這種注釋。其語法格式為:<%/*comment*/%>,comment為要添加的注釋文本。1054.4變量、方法的聲明變量、方法的聲明和表達式表達式106變量、方法的聲明和表達式JSP中的聲明可以用來定義一個或多個合法的變量(包括普通變量和類變量)和方法,并不輸出任何的文本到輸出流去。在聲明元素中聲明的變量和方法將在JSP頁面初始化時被初始化。JSP聲明的語法格式為:<%!declaration;[declaration;]...%>,其中declaration為聲明的變量、方法的名稱和內容。在聲明變量變量和方法時,需要注意以下幾點:聲明必須以";"結尾??梢灾苯邮褂迷?lt;%@page%>中被包含進來的已經聲明的變量和方法,不需要對它們重新進行聲明。一個聲明僅在一個頁面中有效。如果想每個頁面都用到一些聲明,最好把它們寫成一個單獨的文件,然后用<%@include%>或<jsp:include>元素包含進來。107表達式SP中表達式可以將某個計算結果轉換成一個字符串并且直接使用在輸出網(wǎng)頁上。包含一個符合JSP語法的表達式的語法格式為:<%=expression%>。JSP的表達式中沒有分號,除非在加引號的字符串部分才使用分號。1084.5JSP指令include指令Page指令taglib指令109include指令在JSP中用include指令包含一個靜態(tài)的文件,同時解析這個文件中的JSP語句,使用jsp的include指令有助于實現(xiàn)jsp頁面的模塊化。其語法格式為:<%@includefile=“filename”%>,其中filename指被包含的文件的名稱。<%@include%>指令將會在JSP編譯時插入一個包含文本或代碼的文件,當使用<%@include%>指令時,這個包含的過程是靜態(tài)的。靜態(tài)的包含是指這個被包含的文件將會被插入到JSP文件中去,這個包含的文件可以是JSP文件、HTML文件、文本文件。如果包含的是JSP文件,這個包含的JSP文件中的代碼將會被執(zhí)行。110Page指令Page指令用來定義JSP文件中的全局屬性,它描述了與頁面相關的一些信息,其作用域為它所在的JSP文件頁面和其包含的文件,但是<%@page%>指令不能作用于動態(tài)的包含文件,例如<jsp:include>。Page指令的語法格式為:<%@page[language="java"][extends="package.class"][import="{package.class|package.*},..."][session="true|false"][buffer="none|8kb|sizekb"][autoFlush="true|false"][isThreadSafe="true|false"][info="text"][errorPage="relativeURL"][contentType="mimeType[;charset=characterSet]"|"text/html;charset=ISO-8859-1"][isErrorPage="true|false"]%>

無論把<%@page%>指令放在JSP的文件的哪個地方,它的作用范圍都是整個JSP頁面。111taglib指令taglib指令用來定義一個標簽庫以及其自定義標簽的前綴。其語法格式為:<%@tagliburi="tagLibraryURI"prefix="tagPrefix"%>其中,屬性uri(UniformResourceIdentifier,統(tǒng)一資源標識符)用來唯一的確定標簽庫的路徑,并告訴JSP引擎在編譯JSP程序時如何處理指定標簽庫中的標簽,屬性prefix定義了一個指示使用此標簽庫的前綴。1124.6JSP動作(Action)語法<jsp:include>動作<jsp:useBean>動作<jsp:setProperty>動作<jsp:getProperty>動作<jsp:forward>動作<jsp:plugin>113<jsp:include>動作<jsp:include>動作用來把指定文件插入正在生成的頁面。其語法如下:<jsp:includepage=“relativeURL”flush=“true”/><jsp:include>動作允許包含靜態(tài)文件和動態(tài)文件,這兩種包含文件的結果是不同的。如果文件僅是靜態(tài)文件,那么這種包含僅僅是把包含文件的內容加到jsp文件中去,這個文件不會被JSP編譯器執(zhí)行;如果這個文件動態(tài)的,那么這個被包含文件也會被JSP編譯器執(zhí)行。114<jsp:useBean>動作<jsp:useBean>動作用來裝載一個將在JSP頁面中使用的JavaBean。這個功能非常有用,因為它既可以發(fā)揮Java組件重用的優(yōu)勢,同時也避免了損失JSP區(qū)別于Servlet的方便性。其語法格式為:<jsp:useBeanid="beanInstanceName"scope="page|request|session|application"{class="package.class"|type="package.class"|class="package.class"type="package.class"|beanName="{package.class|<%=expression%>}"type="package.class“}{/>|>otherelements</jsp:useBean>}<jsp:useBean>元素的主體通常包含有<jsp:setProperty>元素,用于設置Bean的屬性值。正如上面所說的,<jsp:useBean>的主體僅僅只有在<jsp:useBean>示例Bean時才會被執(zhí)行,如果這個Bean已經存在,<jsp:useBean>能夠定位它,那么主體中的內容將不會起作用,但你可以在<jsp:useBean>元素外用<jsp:setProperty>元素設定JavaBean的屬性。115<jsp:setProperty>動作獲得Bean實例之后,可以利用<jsp:setProperty>動作設置、修改Bean中的屬性值。其語法格式如下:<jsp:setPropertyname="beanInstanceName"{property="*"|property="propertyName"[param="parameterName"]|property="propertyName"value="{string|<%=expression%>}"}/><jsp:setProperty>元素使用Bean給定的setter方法,在Bean中設置一個或多個屬性值。在使用這個元素之前必須使用<jsp:useBean>聲明此Bean,因為<jsp:useBean>和<jsp:setProperty>是聯(lián)系在一起的,同時它們使用的Bean實例的名字也應當相匹配。116<jsp:getProperty>動作<jsp:getProperty>動作用來提取指定Bean屬性的值,轉換成字符串,然后輸出。其語法格式為:<jsp:getPropertyname="beanInstanceName"property="propertyName"/><jsp:getProperty>元素可以獲取Bean的屬性值,并可以將其使用或顯示在JSP頁面中。在使用<jsp:getProperty>之前,必須用<jsp:useBean>創(chuàng)建它。117<jsp:forward>動作<jsp:forward>用于引導客戶端的請求到另一個頁面或者是另一個Servlet去。其語法格式為:<jsp:forwardpage={"relativeURL"|"<%=expression%>"}/><jsp:forward>動作可以包含一個或幾個<jsp:param>子動作,用于向要引導進入的頁面?zhèn)鬟f參數(shù)。需要注意,當<jsp:forward>動作發(fā)生的時候,如果已經有文本被寫入輸出流而且頁面沒有設置緩沖,那么將拋出一個IllegalStateException的異常。118<jsp:plugin>在JSP處理這個動作的時候,將根據(jù)客戶端瀏覽器的不同,JSP在執(zhí)行以后將分別輸出為OBJECT或EMBED這兩個不同的HTML元素。其語法格式為:<jsp:plugintype="bean|applet"code="classFileName"codebase="classFileDirectoryName"[name="instanceName"][archive="URIToArchive,..."][align="bottom|top|middle|left|right"][height="displayPixels"][width="displayPixels"]119[hspace="leftRightPixels"][vspace="topBottomPixels"][jreversion="JREVersionNumber|1.1"][nspluginurl="URLToPlugin"][iepluginurl="URLToPlugin"]>[<jsp:params>[<jsp:paramname="parameterName"value="{parameterValue|<%=expression%>}"/>]</jsp:params>][<jsp:fallback>textmessageforuser</jsp:fallback>]</jsp:plugin>1204.7JSP腳本JSP腳本即Scriptlet,也就是JSP中的代碼部分,是java程序的一段代碼,幾乎可以使用任何java語法,它是在請求時期執(zhí)行的,它可以使用jsp頁面所定義的變量、方法、表達式或JavaBeans。腳本的語法格式為:<%scriptlet%>如果要在Scriptlet內部使用字符“%>”,必須寫成“%\>”

121第六講使用內部對象系統(tǒng)一、瀏覽器對象層次及其主要作用除了前面提到過的文檔document對象外,Navigator瀏覽器中還提供了窗口(Window)對

象以及歷史(History)和位置(Location)對象。瀏覽器對象(Navigator)

提供有關瀏覽器的信息窗口對象(Windows)Window對象處于對象層次的最頂端,它提供了處理Navigator窗口的方法和屬性。位置對象(Location)Location對象提供了與當前打開的URL一起工作的方法和屬性,它是一個靜態(tài)的對象。歷史對象(History)History對象提供了與歷史清單有關的信息。文檔對象(Document)document對象包含了與文檔元素(elements)一起工作的對象,它將這些元素封裝起來

供編程人員使用。122二、文檔對象功能及其作用在Navigator瀏覽器中,document文檔對象是核心是,同時也是最重要的。見圖所示。

LinksAnchorFormMethodProp

鏈接對象錨對象窗體對象方法對象從圖中可以看出,document對象的主要作用就是把這些基本的元素(如links,anchor等)包裝起來,提供給編程人員使用。從另一個角度看,document對象中又是由屬性和方法組成。1231、document中三個主要的對象在document中主要有:links,anchor,form等三個最重要的對象:(1)anchor錨對象:

anchor對象指的是<AName=...></A>標識在HTML源碼中存在時產生的對象。它包含著文檔中所有的anchors信息。(2)鏈接links對象

link對象指的是用<AHref=...></A>標記的連接一個超文本或超媒體的元素作為一個特定的URL。(3)窗體(Form)對象窗體對象是文檔對象的一個元素,它含有多種格式的對象儲存信息,使用它可以在JavaScript腳本中編寫程序進行文字輸入,并可以用來動態(tài)改變文檔的行為。通過document.Forms[]數(shù)組來使得在同一個頁面上可以有多個相同的窗體,使用forms[]數(shù)組要比使用窗體名字要方便得多。124例:下面就是一個使用窗體數(shù)組和窗體名字的例子。該程序使得兩個窗體中的字段內容保持一致。

Test6_1.htm<Html><head></head><body><form><inputtype=textonChange="document.my.elements[0].value=this.value;"></form><formNAME="my"><inputtype=textonChange="document.forms[0].elements[0].value=this.value;"></form></body></html>1252、文檔對象中的attribute屬性

document對象中的attribute屬性,主要用于在引用Href標識時,控制著有關顏色的格式和有關文檔標題、文檔原文件的URL以及文檔最后更新的日期。這部分元素的主要含義如下:(1)鏈接顏色:alinkcolor

這個元素主要用于,當選取一個鏈接時,鏈接對象本身的顏色就按alinkcolor指定改變。(2)鏈接顏色:linkcolor

當用戶使用<AHref=...>Textstring</A>鏈接后,Textstring的顏色就會按Linkcolor所指定的顏色更新。(3)瀏覽過后的顏色:VlinkColor該屬性表示的是已被瀏覽存儲為已瀏

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論