FSM7250RS全網(wǎng)管可堆疊交換機(jī)_第1頁(yè)
FSM7250RS全網(wǎng)管可堆疊交換機(jī)_第2頁(yè)
FSM7250RS全網(wǎng)管可堆疊交換機(jī)_第3頁(yè)
FSM7250RS全網(wǎng)管可堆疊交換機(jī)_第4頁(yè)
FSM7250RS全網(wǎng)管可堆疊交換機(jī)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、ProSafe 48口 10/100M 基本三層可堆疊全網(wǎng)管交換機(jī) FSM7250RS關(guān)鍵特性48口10/100M端口和2個(gè)光電復(fù)用口提供空前的靈活性?xún)蓚€(gè)高速專(zhuān)用堆疊端口使業(yè)務(wù)容易擴(kuò)展,可以堆疊8臺(tái)設(shè)備達(dá)到384個(gè)端口靈活的管理特性(命令行,WEB,堆疊),32條靜態(tài)路由,802.1x,訪(fǎng)問(wèn)控制列表, 802.1p, diffserv, IGMP 查詢(xún)器, 512個(gè)VLAN可承受的價(jià)格,企業(yè)級(jí)快速以太網(wǎng)交換機(jī)NETGEAR的廉價(jià)的,可堆疊的快速以太網(wǎng)交換機(jī)在您需要的高密度接入層網(wǎng)絡(luò)或者小型網(wǎng)絡(luò)的核心/匯聚層提供最大的吞吐能力及靈活性.這款FSM7250RS是全網(wǎng)管48口10/100兆自適應(yīng)加兩

2、個(gè)10/100/1000M 端口的交換機(jī)??梢允褂盟膬蓚€(gè)熱插拔SFP GBIC接口來(lái)激活光纖連接。交換機(jī)的的無(wú)阻塞設(shè)計(jì)為全部端口提供了高并發(fā),全線(xiàn)速,低延時(shí)的吞吐能力。另外,它的1U機(jī)架式結(jié)構(gòu)能夠更節(jié)省機(jī)架空間并提供比其他快速以太網(wǎng)交換機(jī)更低的端口費(fèi)用。基本三層功能確保VLAN以及您對(duì)網(wǎng)絡(luò)劃分的網(wǎng)段之間進(jìn)行可靠的路由。再者,無(wú)需另外投資,就可以使用交換機(jī)背面自帶的高速(2.5G)的專(zhuān)用堆疊口進(jìn)行高速堆疊。完善的安全特性包括IEEE 802.1X端口認(rèn)證及訪(fǎng)問(wèn)控制列表,確保只有認(rèn)證的用戶(hù)才能訪(fǎng)問(wèn)網(wǎng)絡(luò)??梢允褂肧SLv3及SSH對(duì)交換機(jī)使用WEB圖形用戶(hù)界面或者命令行界面進(jìn)行安全管理。還有,擁有

3、多臺(tái)交換機(jī)的話(huà)可以用NETGEAR網(wǎng)絡(luò)管理軟件NMS100使用SNMPv3對(duì)他們進(jìn)行統(tǒng)一管理。 對(duì)于成本敏感的組織,選擇可堆疊的靈活的并兼容GBIC接口的接入層二層交換機(jī),NETGEAR的 ProSafe 10/100M基本三層可堆疊交換機(jī)就是最理想的解決方案。 強(qiáng)大的在桌面交換環(huán)境,全部10/100M端口均提供線(xiàn)速性能及全QoS控制。兩個(gè)千兆光電復(fù)用的以太網(wǎng)接口更提供了靈活的替換能力。假如將交換機(jī)堆疊起來(lái),當(dāng)您連接文件服務(wù)器,或者以鏈路聚合的方式連接到網(wǎng)絡(luò)核心來(lái)傳輸關(guān)鍵數(shù)據(jù)時(shí)就可以擁有期望的帶寬。易用的簡(jiǎn)單并減輕IT員工的工作量及短時(shí)間的修復(fù),擁有基于圖形用戶(hù)界面的設(shè)備配置和工業(yè)標(biāo)準(zhǔn)的命令行

4、界面。新的2.5G高速堆疊能力可以使高達(dá)8臺(tái)設(shè)備使用單一IP管理。 杰出的性?xún)r(jià)比以高性?xún)r(jià)比的亮點(diǎn),靈活的設(shè)計(jì)及低維護(hù)成本的需求來(lái)設(shè)計(jì)的NETGEAR的ProSafe 10/100M基本三層可堆疊全網(wǎng)管交換機(jī)這低投資高回報(bào)的解決方案,提供理想的高可靠性,使單個(gè)網(wǎng)絡(luò)架構(gòu)即可涵蓋語(yǔ)音,視頻和數(shù)據(jù)服務(wù)。友好的工作空間這款交換機(jī)內(nèi)置了熱量感應(yīng)器,可以在溫暖的環(huán)境自動(dòng)使風(fēng)扇加速增大氣流,同時(shí)可以在辦公室環(huán)境使用使降低風(fēng)扇速度以降低噪音。用戶(hù)推薦“NETGEAR這一系列新二層全網(wǎng)管交換機(jī)FSM726E,F(xiàn)SM7226RS和FSM7250RS給用戶(hù)帶來(lái)杰出且豐富的特性集,結(jié)合了非常直觀(guān)和簡(jiǎn)易的圖形用戶(hù)界面讓哪

5、些不是太熟悉命令行界面設(shè)置的人輕松管理交換機(jī)。另外,根據(jù)NETGEAR的廣泛、嚴(yán)謹(jǐn)?shù)臏y(cè)試流程慣例,確保這是一款讓您穩(wěn)定、可靠地使用的產(chǎn)品?;谶@個(gè)理由,我們使用NETGEAR產(chǎn)品作為我們?yōu)槿靠蛻?hù)安裝時(shí)選擇的廠(chǎng)商,這樣使我們輕松地確保它既能為他們提供可靠的平臺(tái),又減少他們對(duì)我們的支持需求?!盋hris HemmingsManaging DirectorPenguin Internet Ltd HYPERLINK / t _blank / “NETGEAR ProSafe FSM7226RS已經(jīng)成為我測(cè)試過(guò)的NETGEAR最精練的交換機(jī)之一,它安裝配置起來(lái)就像一款高級(jí)設(shè)備。我將很愉快地推薦給我的

6、客戶(hù)。它的堆疊功能容易實(shí)現(xiàn)和管理并滿(mǎn)足考驗(yàn)?!盙uy AdamsBusiness Support ManagerMegatech Computers HYPERLINK http:/www.megatechcomputers.co.uk t _blank www.megatechcomputers.co.ukProSafe 48口 10/100M 基本三層可堆疊全網(wǎng)管交換機(jī)主要技術(shù)規(guī)范如下表:產(chǎn)品名 ProSafe 48口 10/100M 基本三層可堆疊全網(wǎng)管交換機(jī)訂貨號(hào) FSM7250RS 網(wǎng)絡(luò)協(xié)議和標(biāo)準(zhǔn) - IEEE 802.3 10BASE-T - IEEE 802.3u 100BASE

7、-TX - IEEE 802.3z 1000BASE-X- IEEE 802.3ab 1000BASE-T - IEEE 802.3x flow control 二層服務(wù) - IEEE 802.1Q 靜態(tài) VLAN(最大512)- IEEE 802.1p 服務(wù)類(lèi)別(CoS) - IEEE 802.1D 生成樹(shù)協(xié)議 - IEEE 802.1v 協(xié)議VLAN和端口VLAN- IEEE 802.1w 快速生成樹(shù)協(xié)議- IEEE 802.1s 多域生成樹(shù)協(xié)議- IEEE 802.3ad 鏈路聚合(靜態(tài),LACP) - IEEE 802.1x 端口訪(fǎng)問(wèn)驗(yàn)證- 基于MAC地址VLAN- IGMP v1,v

8、2,v3 偵聽(tīng)支持- IGMP查詢(xún)器- 網(wǎng)絡(luò)風(fēng)暴保護(hù),包括廣播,組播和單播流量- 靜態(tài)組播過(guò)濾- 粒度1Kbps的入端口流量控制- 端口保護(hù)- 私有VLAN組- Double VLAN- MAC過(guò)濾- 端口安全 三層服務(wù)- VLAN路由- 靜態(tài)路由- 端口路由- 訪(fǎng)問(wèn)控制列表MAC,IP,TCP- ACLs全局224- DiffServ Qos (RFC 2998)- DNS caching- DHCP/BOOTP中繼Primary和Secondary(RFC3046,Option 82)- UDP中繼交換機(jī)管理規(guī)范- SNMP v1,v2c,v3 with multiple IP addre

9、sses- RFC1157 ,1901-1910,2574,2575- UDP中繼- RFC 854-859 telnet- RFC 951 BootP - RFC 1027代理ARP- RFC1213 MIB II - RFC1757 RMON 組 1 、2 、3和9 - RFC 1215 SNMP traps- RFC1493 Bridge MIB - RFC1643 以太網(wǎng)接口 MIB - RFC 1534 DHCP and BOOTP interoperation- RFC 2030簡(jiǎn)單網(wǎng)絡(luò)時(shí)間協(xié)議(SNTP)- RFC 2131,2132 DHCP and BOOTP- RFC 28

10、65 RADIUS(交換機(jī)端口和管理訪(fǎng)問(wèn))- RFC 2866 RADIUS accounting- Private enterprise MIB- CPU 流量監(jiān)控- 端口鏡像(多對(duì)一)- SYSLOG- 通過(guò)TFTP或HTTP固件升級(jí)- 端口描述- TACACS+- LLDP/LLDP-MED- DHCP Server- DHCP option 81單一IP管理(固件版本7.3以上)- 管理多達(dá)48臺(tái)全網(wǎng)管交換機(jī)- 可以在下列型號(hào)使用該特性:- FSM726E,F(xiàn)SM7226RS,F(xiàn)SM7250RS- FSM7328S,FSM7352S,FSM7328PS,FSM7352PS- GSM72

11、24R,GSM7248R- GSM7328S,GSM7328FS,GSM7352S用戶(hù)界面 - 通過(guò)控制臺(tái)端口登錄提供命令菜單界面 - 通過(guò)具Secured Sockets Layer(SSLv3)或Transport Layer Security(TLSv1)的嵌入式HTTP服務(wù)器保護(hù)的WEB ProSafe Control Center管理(HTTPS)- 通過(guò)具Secured Shell(SSH v1.5,v2)安全的Telnet遠(yuǎn)程登錄(5 sessions)指示燈- 每端口:速度、連接、活動(dòng)- 每交換機(jī):電源、風(fēng)扇狀態(tài)、堆疊id,Master,RPS物理接口- 48個(gè)10/100M銅

12、纜RJ-45端口(所有端口均自動(dòng)適應(yīng),自動(dòng)上聯(lián))- 2個(gè)1000M光電復(fù)用口(RJ45和SFP)- RS-232控制口- 2個(gè)專(zhuān)用堆疊口性能規(guī)范 - 轉(zhuǎn)發(fā)模式:存儲(chǔ)和轉(zhuǎn)發(fā) - 帶寬:23.6Gbps- 包轉(zhuǎn)發(fā)率:10.1Mpps - 交換延遲:64字節(jié)幀延遲不到80微秒 - 系統(tǒng)內(nèi)存:128MB - 數(shù)據(jù)包緩沖內(nèi)存:1MB- FLASH:32M- MAC地址大?。?K- VLAN數(shù)量:512(ID 1-4093)- 鏈路聚合數(shù)量:24- QoS隊(duì)列數(shù):8- 靜態(tài)路由數(shù)量:32- 巨幀支持:最大9K- 組播組數(shù)量:256電源規(guī)格 - 功耗 :最大33瓦 - 電壓:100 - 240 V AC/5

13、0 -60 Hz通用電源輸入- 擴(kuò)展RPS單元(12V)物理規(guī)格 - 尺寸:440 x 257 x 43 毫米(17.32 x 10.1 x 1.7 英寸) - 重量:3.6 公斤(7.9磅) - 噪聲:(ANSIS10.12)38.3dB- 散熱:112 Btu/hr- 平均無(wú)故障時(shí)間:385,102小時(shí)(約44年)- 熱量感應(yīng)器環(huán)境規(guī)范 - 工作溫度 :-5- 50C(23-131F) - 存放溫度:-20-70C(-4-158F) - 工作濕度:最大相對(duì)濕度90% ,無(wú)冷凝 - 存放濕度:最大相對(duì)濕度95% ,無(wú)冷凝 - 工作高度:最大10,000 英尺(3,000 米) - 存放高度:

14、最大10,000 英尺(3,000 米) 輻射- CE 標(biāo)志,商業(yè),- FCC Part 15 Class A ,- VCCI Class A ,- EN 55022(CISPR 22),Class A ,- C-Tick 電磁免疫 - EN 50082-1- EN 55024安全 - CE標(biāo)志,商業(yè) - CSA認(rèn)證(CSA 22.2 #950) - UL列表(1950)- CUL IEC950/EN60950- EN 60950保修 1 年 包裝內(nèi)容- 基本三層全網(wǎng)管交換機(jī)(FSM7250RS)- 電源線(xiàn)- 空Modem線(xiàn)(控制線(xiàn))- 堆疊線(xiàn)- 用于放置桌面時(shí)使用的橡皮膠墊- 機(jī)架配件- 快

15、速安裝指南- 網(wǎng)管交換機(jī)資源CD- ProSafe NMS100 30天試用版CD- 支持/保修信息卡相關(guān)產(chǎn)品- 1000 BASE-SX SFP GBIC(AGM731F)- 1000 BASE-LX SFP GBIC(AGM732F)- 1000 BASE-ZX SFP GBIC(AGM733)- NMS100網(wǎng)絡(luò)管理軟件附錄資料:從 XML 生成可與 Ajax 共同使用的 JSON時(shí)下,非常流行使用 JavaScript 代碼為數(shù)據(jù)驅(qū)動(dòng)的 Web 應(yīng)用程序添加互動(dòng)性。若能將數(shù)據(jù)編碼成 JavaScript Object Notation(JSON)的格式,您就可以更輕松地通過(guò) JavaS

16、cript 語(yǔ)言使用它。通過(guò)本文,發(fā)掘使用 XSLT V2 從 XML 數(shù)據(jù)生成 JSON 的幾種不同方法。幾年前,許多開(kāi)發(fā)人員很看好 XML、XSLT、Extensible HTML (XHTML)和其他一些基于標(biāo)記的語(yǔ)言?,F(xiàn)在,Asynchronous JavaScript and XML(AJAX)成了新的熱點(diǎn),人們又將目光轉(zhuǎn)向了使用 JavaScript 代碼的數(shù)據(jù)驅(qū)動(dòng)的富 Internet 應(yīng)用程序。但是開(kāi)發(fā)人員是否已經(jīng)消除了 XML 和這一新技術(shù)之間的鴻溝呢?當(dāng)然,您可以在 Web 客戶(hù)機(jī)中使用 XML 解析器來(lái)讀取數(shù)據(jù),但這種做法會(huì)帶來(lái)兩個(gè)問(wèn)題。第一,出于安全方面的原因,XML

17、數(shù)據(jù)只能從與此頁(yè)面相同的那個(gè)域中讀取。這雖然不是什么大的限制因素,但它的確會(huì)引起部署方面的問(wèn)題,還會(huì)阻礙 DHTML 小部件的創(chuàng)建。第二,讀取和解析 XML 會(huì)非常慢。另一種做法是讓服務(wù)器執(zhí)行 XML 的解析工作,方法是設(shè)置服務(wù)器,使之向?yàn)g覽器發(fā)送以 JavaScript 代碼或時(shí)下流行的 JavaScript Object Notation(JSON)編碼的數(shù)據(jù)。本文將展示如下三種使用 XSLT V2 語(yǔ)言和 Saxon XSLT V2 處理器從 XML 數(shù)據(jù)生成 JSON 的技巧: 簡(jiǎn)單編碼 通過(guò)函數(shù)調(diào)用加載數(shù)據(jù) 編碼對(duì)象 JSON 簡(jiǎn)介要學(xué)習(xí)如何將數(shù)據(jù)編碼成 JSON(它只是 JavaS

18、cript 的一個(gè)子集),最好的方法是從數(shù)據(jù)開(kāi)始。清單 1 顯示了書(shū)籍列表的一個(gè)示例 XML 數(shù)據(jù)集。清單 1. 基本的圖形化圖書(shū)館 Code Generation in Action JackHerrington Manning PHP Hacks JackHerrington OReilly Podcasting Hacks JackHerrington OReilly 這個(gè)數(shù)據(jù)集很簡(jiǎn)單,只包含三本書(shū),每本書(shū)都具有惟一的 ID、書(shū)名、作者姓名及出版商的名字。(沒(méi)錯(cuò),我只選擇了我自己的書(shū)作為數(shù)據(jù)集,但能怨我嗎?這些書(shū)實(shí)在是不可多得的節(jié)日和生日禮物。)清單 2 顯示了這些數(shù)據(jù)在 JSON 中的

19、效果。清單 2. JSON 中的示例數(shù)據(jù)集 id: 1, title: Code Generation in Action, first: Jack, last: Herrington, publisher: Manning , . 方括號(hào) () 表明這是一個(gè)數(shù)組。大括號(hào) () 則表明這是一個(gè)散列表,該散列表由一組名稱(chēng)和值對(duì)組成。在本例中,我創(chuàng)建了一個(gè)散列表的數(shù)組 用來(lái)存儲(chǔ)這類(lèi)結(jié)構(gòu)式數(shù)據(jù)的一種常見(jiàn)方法。另外一點(diǎn)值得注意的是字符串是通過(guò)單引號(hào)或雙引號(hào)被編碼的。所以,如果我想用單引號(hào)編碼 OReilly,我就必須使用反斜杠對(duì)它進(jìn)行轉(zhuǎn)義:OReilly。 這讓我編寫(xiě)的這個(gè) XSLT 樣式表更為有趣了

20、一些。我并未在本例中放上任何日期,但您也可以通過(guò)如下兩種方法來(lái)編碼日期。第一種方法是將日期作為字符串,該字符串必須在后面被解析。第二種方法是將日期作為一個(gè)對(duì)象,比如:publishdate: new Date( 2006, 6, 16, 17, 45, 0 )這段代碼將 publishdate 的值設(shè)置為6/16/2006 5:45:00 p.m.。簡(jiǎn)單編碼接下來(lái)我將陸續(xù)介紹 JSON 編碼的幾種技巧。第一種也是其中最簡(jiǎn)單的一種,此樣式表如 清單 3 所示。清單 3. simple.xsl 樣式表 var g_books = 1, id: ,name: ,first: ,last: ,publ

21、isher: ;要理解此樣式表,不妨先來(lái)看一下 清單 4 所示的輸出。清單 4. simple.xsl 的輸出var g_books = id: 1,name: Code Generation in Action,first: Jack,last: Herrington,publisher: Manning, id: 2,name: PHP Hacks,first: Jack,last: Herrington,publisher: OReilly, id: 3,name: Podcasting Hacks,first: Jack,last: Herrington,publisher: ORei

22、lly;這里,我將名為 g_books 的變量設(shè)置為一個(gè)包含三個(gè)散列表的數(shù)組,每個(gè)散列表包含關(guān)于該書(shū)的信息。再回過(guò)頭來(lái)看看 清單 3,您會(huì)發(fā)現(xiàn)第一個(gè)模板匹配 / 路徑,它也是首先應(yīng)用到輸入數(shù)據(jù)集的模板,該模板使用 for-each 循環(huán)來(lái)遍歷每本書(shū)。之后,它使用 標(biāo)記來(lái)將文本從該數(shù)據(jù)輸出到 JavaScript 輸出代碼。對(duì)于字符串,我使用名為 js:escape() 的定制函數(shù),它在模板之前定義。該函數(shù)使用一個(gè)正則表達(dá)式將一個(gè)單引號(hào)標(biāo)記更改為帶有反斜杠的單引號(hào)標(biāo)記。最后一個(gè)重要的元素是 標(biāo)記,它告知處理器要輸出的是文本而不是 XML。要檢驗(yàn)此過(guò)程是否可以正常工作,我加入了一個(gè) simple

23、.html 文件,該文件引用我在 simple.js 保存的 XSL 樣式表的輸出。這個(gè) HTML 文件如 清單 5 所示。清單 5. simple.html 文件Simple JS loaderdocument.write( Found +g_books.length+ books );.html 文件使用 標(biāo)記簡(jiǎn)單地加載已編碼了的 JavaScript 代碼。之后,第二個(gè) 標(biāo)記將數(shù)組的長(zhǎng)度寫(xiě)出到瀏覽器頁(yè)面,如 圖 1 所示。圖 1. simple.html 的輸出好了!數(shù)據(jù)文件包含三本書(shū),相應(yīng)的 JavaScript 文件也包含三本書(shū)。它真的可以工作!通過(guò)函數(shù)加載上述第一個(gè)示例很簡(jiǎn)單,而且

24、在大多數(shù)情況下可以發(fā)揮其作用,但它存在一些問(wèn)題。第一個(gè)問(wèn)題是對(duì)于數(shù)據(jù)何時(shí)被加載沒(méi)有任何提示。如果數(shù)據(jù)是像頁(yè)面那樣被靜態(tài)加載的,這不成問(wèn)題。但是如果頁(yè)面動(dòng)態(tài)創(chuàng)建了一個(gè) 標(biāo)記來(lái)按需加載數(shù)據(jù),那么就很有必要知道 標(biāo)記是何時(shí)完成的。實(shí)現(xiàn)此功能的最好的方法是讓編碼了的數(shù)據(jù)調(diào)用一個(gè) JavaScript 函數(shù),而不是只設(shè)置數(shù)據(jù)。這個(gè)概念很重要,所以我將花一些時(shí)間來(lái)介紹一下為什么您必須要通過(guò)動(dòng)態(tài)生成的 標(biāo)記來(lái)加載數(shù)據(jù)。頁(yè)面加載后,從服務(wù)器獲得數(shù)據(jù)是 Web 2.0 的核心功能。一種方法是使用 AJAX 機(jī)制通過(guò)到服務(wù)器的調(diào)用來(lái)加載 XML。然而,出于安全性的原因,AJAX 機(jī)制只限于從單一域獲取數(shù)據(jù)。這在大

25、多數(shù)情況下都沒(méi)有問(wèn)題,但有時(shí),您可能需要 JavaScript 代碼運(yùn)行在他人的頁(yè)面上(例如,Google Maps)。在這種情況下從服務(wù)器獲得數(shù)據(jù)的惟一方法是通過(guò)動(dòng)態(tài)加載 標(biāo)記。獲悉 標(biāo)記何時(shí)加載的最好的方法是讓 標(biāo)記返回的腳本調(diào)用函數(shù)而不是簡(jiǎn)單地加載數(shù)據(jù)。清單 6 顯示了在函數(shù)調(diào)用中編碼的數(shù)據(jù)。清單 6. Function1.jsAddBooks( id: 1,name: Code Generation in Action,first: Jack,last: Herrington,publisher: Manning, id: 2,name: PHP Hacks,first: Jack,l

26、ast: Herrington,publisher: OReilly, id: 3,name: Podcasting Hacks,first: Jack,last: Herrington,publisher: OReilly );清單 7 給出了相應(yīng)的 .html 文件。清單 7. Function1.htmlFunction 1 JS loadervar g_books = ;function AddBooks( books ) g_books = books; drawbooks( g_books );稍后將詳細(xì)介紹 drawbooks 函數(shù)。這里重要的是了解一下頁(yè)面如何定義 AddBoo

27、ks 函數(shù),該函數(shù)隨后會(huì)由 function1.js 文件中的腳本調(diào)用。該 AddBooks 函數(shù)負(fù)責(zé)處理數(shù)據(jù)。而且被調(diào)用的 AddBooks 函數(shù)會(huì)向頁(yè)面指示 標(biāo)記被正確加載,并已加載完成。要?jiǎng)?chuàng)建 function1.js 文件,我只對(duì)樣式表稍微做了一點(diǎn)修改,如 清單 8 所示。清單 8. function1.xsl 樣式表AddBooks( 1, id: ,name: ,first: ,last: ,publisher: );這里,我調(diào)用了一個(gè)函數(shù),而不是簡(jiǎn)單地設(shè)置一個(gè)變量。這就是我所做的惟一更改。回到頁(yè)面,我使用了 drawbooks 函數(shù)來(lái)構(gòu)建書(shū)的表格,這樣我就能夠確認(rèn)數(shù)據(jù)被正確編碼和

28、正確顯示。此函數(shù)是在 drawbooks.js 內(nèi)定義的,如 清單 9 所示。清單 9. Drawbooks.jsfunction drawbooks( books ) var elTable = document.createElement( table ); for( var b in books ) var elTR = elTable.insertRow( -1 ); var elTD1 = elTR.insertCell( -1 ); elTD1.appendChild( document.createTextNode( booksb.id ) ); var elTD2 = elTR

29、.insertCell( -1 ); elTD2.appendChild( document.createTextNode( ) ); var elTD3 = elTR.insertCell( -1 ); elTD3.appendChild( document.createTextNode( booksb.first ) ); var elTD4 = elTR.insertCell( -1 ); elTD4.appendChild( document.createTextNode( booksb.last ) ); var elTD5 = elTR.insertCell

30、( -1 ); elTD5.appendChild( document.createTextNode( booksb.publisher ) ); document.body.appendChild( elTable );這個(gè)簡(jiǎn)單函數(shù)創(chuàng)建了一個(gè)表格節(jié)點(diǎn),然后循環(huán)訪(fǎng)問(wèn)書(shū)的列表并為每本書(shū)創(chuàng)建一行,為每個(gè)數(shù)據(jù)元素分配一個(gè)單元格。此頁(yè)面上的代碼的結(jié)果如 圖 2 所示。圖 2. function1.html 的結(jié)果現(xiàn)在我就可以查看一下此頁(yè)面的輸出并確認(rèn)來(lái)自原始 .xml 文件的一切均已被正確轉(zhuǎn)換成 JavaScript 代碼,且數(shù)據(jù)被發(fā)送到 AddData 函數(shù)并被正確添加到頁(yè)面。細(xì)化函數(shù)調(diào)用技術(shù)我很喜

31、歡函數(shù)調(diào)用這一技術(shù),但我并不贊同將所有圖書(shū)數(shù)據(jù)都放入一個(gè)塊中。另一種方式是為每條記錄采用一個(gè)調(diào)用,如 清單 10 所示。清單 10. Function2.jsAddBook( id: 1,name: Code Generation in Action,first: Jack,last: Herrington,publisher: Manning );AddBook( id: 2,name: PHP Hacks,first: Jack,last: Herrington,publisher: OReilly );.對(duì) .html 頁(yè)面只需做少許修改,如 清單 11 所示。清單 11. Functi

32、on2.html.var g_books = ;function AddBook( book ) g_books.push( book ); .這里更改了 XSLT,以使函數(shù)調(diào)用駐留在 for-each 循環(huán)體內(nèi)。清單 12 顯示了更新后的樣式表。清單 12. function2.xsl.AddBook( id: ,name: ,first: ,last: ,publisher: );.對(duì)這個(gè)給定示例來(lái)說(shuō),這種更改看起來(lái)有些隨意。但如果原始的 XML 數(shù)據(jù)集有多種數(shù)據(jù)類(lèi)型,要為每種類(lèi)型分配一個(gè)單獨(dú)的函數(shù)調(diào)用會(huì)使 XSL 和頁(yè)面上的 JavaScript 代碼更為簡(jiǎn)單、更易于維護(hù)。編碼對(duì)象對(duì)小的

33、頁(yè)面來(lái)講,使用 JavaScript 函數(shù)沒(méi)有問(wèn)題。但對(duì)于大型項(xiàng)目,就需要使用 JavaScript 語(yǔ)言的一些面向?qū)ο筇匦浴J堑?,JavaScript 語(yǔ)言可以處理對(duì)象而且可以處理得很好。清單 13 顯示了如何創(chuàng)建帶有數(shù)據(jù)的對(duì)象。清單 13. Object1.jsg_books.push( new Book( id: 1,name: Code Generation in Action,first: Jack,last: Herrington,publisher: Manning ) );g_books.push( new Book( id: 2,name: PHP Hacks,first:

34、Jack,last: Herrington,publisher: OReilly ) );在本例中,我只簡(jiǎn)單地向名為 g_books 的數(shù)組添加了 Book 對(duì)象。JavaScript 的對(duì)象創(chuàng)建與 Java、C# 或 C+ 編程語(yǔ)言的對(duì)象創(chuàng)建十分相似。都是一個(gè) new 操作符后跟一個(gè)類(lèi)名。參數(shù)放到隨后的括號(hào)內(nèi)。在本例中,我傳入了一個(gè)帶值的單一散列表,并將其分割成單獨(dú)的一些參數(shù)。創(chuàng)建此對(duì)象的代碼如 清單 14 所示。清單 14. Object1.xslg_books.push( new Book( id: ,name: ,first: ,last: ,publisher: ) );此頁(yè)面內(nèi)最值得注意的是定義 Book 類(lèi)的那部分代碼。清單 15 顯示了該頁(yè)面。清單 15. object1.html.var g_books = ;function Book( data ) for( var d in data ) thisd = datad; .Book 類(lèi)的構(gòu)造函數(shù)循環(huán)訪(fǎng)問(wèn)散列表的所有數(shù)據(jù)。對(duì)于每個(gè)鍵,會(huì)在對(duì)象上創(chuàng)建一個(gè)具有對(duì)象名稱(chēng)和數(shù)據(jù)的實(shí)例變量。不需要對(duì) drawbooks 函數(shù)做任何修改,因?yàn)閷?duì)象都有與原始的散列表相同的鍵和值。JavaScript 語(yǔ)言并不區(qū)分訪(fǎng)問(wèn)的是散列表內(nèi)的命名值還是對(duì)象上的命名值。當(dāng)然,Book 類(lèi)應(yīng)該有像 s

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論