posted @ 2014-01-02 22:50 哈希 閱讀(139) | 評(píng)論 (0) | 編輯 收藏
posted @ 2014-01-02 22:32 哈希 閱讀(194) | 評(píng)論 (0) | 編輯 收藏
posted @ 2012-12-22 10:45 哈希 閱讀(156) | 評(píng)論 (0) | 編輯 收藏
基本介紹:
showModalDialog() (IE 4+ 支持)
showModelessDialog() (IE 5+ 支持)
window.showModalDialog() 方法用來(lái)創(chuàng)建一個(gè)顯示HTML內(nèi)容的模態(tài)對(duì)話框。
window.showModelessDialog() 方法用來(lái)創(chuàng)建一個(gè)顯示HTML內(nèi)容的非模態(tài)對(duì)話框。
使用方法:
vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures])
vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures])
參數(shù)說(shuō)明:
sURL -- 必選參數(shù),類型:字符串。用來(lái)指定對(duì)話框要顯示的文檔的URL。
vArguments -- 可選參數(shù),類型:變體。用來(lái)向?qū)υ捒騻鬟f參數(shù)。傳遞的參數(shù)類型不限,包括數(shù)組等。對(duì)話框通過(guò)
window.dialogArguments來(lái)取得傳遞進(jìn)來(lái)的參數(shù)。
sFeatures -- 可選參數(shù),類型:字符串。用來(lái)描述對(duì)話框的外觀等信息,可以使用以下的一個(gè)或幾個(gè),用分號(hào)“;”隔開(kāi)。
----------------
1. dialogHeight: 對(duì)話框高度,不小于100px
2. dialogWidth: 對(duì)話框?qū)挾取?br />3. dialogLeft: 離屏幕左的距離。
4. dialogTop: 離屏幕上的距離。
5. center: { yes | no | 1 | 0 } : 是否居中,默認(rèn)yes,但仍可以指定高度和寬度。
6. help: {yes | no | 1 | 0 }: 是否顯示幫助按鈕,默認(rèn)yes。
7. resizable: {yes | no | 1 | 0 } [IE5+]: 是否可被改變大小。默認(rèn)no。
8. status: {yes | no | 1 | 0 } [IE5+]: 是否顯示狀態(tài)欄。默認(rèn)為yes[ Modeless]或no[Modal]。
9. scroll: { yes | no | 1 | 0 | on | off }:是否顯示滾動(dòng)條。默認(rèn)為yes。
下面幾個(gè)屬性是用在HTA中的,在一般的網(wǎng)頁(yè)中一般不使用。
10. dialogHide:{ yes | no | 1 | 0 | on | off }:在打印或者打印預(yù)覽時(shí)對(duì)話框是否隱藏。默認(rèn)為no。
11. edge:{ sunken | raised }:指明對(duì)話框的邊框樣式。默認(rèn)為raised。
12. unadorned:{ yes | no | 1 | 0 | on | off }:默認(rèn)為no。
參數(shù)傳遞:
1. 要想對(duì)話框傳遞參數(shù),是通過(guò)vArguments來(lái)進(jìn)行傳遞的。類型不限制,對(duì)于字符串類型,最大為4096個(gè)字符。也可以傳遞對(duì)象,例如:
-------------------------------
parent.htm
<script>
var obj = new Object();
obj.name="51js";
window.showModalDialog("modal.htm",obj,"dialogWidth=200px;dialogHeight=100px");
</script>
modal.htm
<script>
var obj = window.dialogArguments
alert("您傳遞的參數(shù)為:" + obj.name)
</script>
-------------------------------
2.可以通過(guò)window.returnValue向打開(kāi)對(duì)話框的窗口返回信息,當(dāng)然也可以是對(duì)象。例如:
------------------------------
parent.htm
<script>
str =window.showModalDialog("modal.htm",,"dialogWidth=200px;dialogHeight=100px");
alert(str);
</script>
modal.htm
<script>
window.returnValue="http://homepage.yesky.com";
</script>
常見(jiàn)技巧:
一、怎樣才讓在showModalDialog和showModelessDialog的超連接不彈出新窗口?
在被打開(kāi)的網(wǎng)頁(yè)里加上<base target="_self">就可以了。這句話一般是放在<head>之間的。
二、怎樣才刷新showModalDialog和showModelessDialog里的內(nèi)容?
在showModalDialog和showModelessDialog里是不能按F5刷新的,又不能彈出菜單。這個(gè)只能依靠
javascript了,以下是相關(guān)代碼:
<body onkeydown="if (event.keyCode==116){reload.click()}">
<a id="reload" href="filename.htm" style="display:none">reload...</a>
將filename.htm替換成網(wǎng)頁(yè)的名字然后將它放到你打開(kāi)的網(wǎng)頁(yè)里,按F5就可以刷新了,注意,這個(gè)要
配合<base target="_self">使用,不然你按下F5會(huì)彈出新窗口的。
三、如何用javascript關(guān)掉showModalDialog(或showModelessDialog)打開(kāi)的窗口。
<input type="button" value="關(guān)閉" onclick="window.close()">
也要配合<base target="_self">,不然會(huì)打開(kāi)一個(gè)新的IE窗口,然后再關(guān)掉的。
四、Math.random與showModalDialog。
當(dāng)你設(shè)置的彈出網(wǎng)頁(yè)固定時(shí)(如上面的"modal.htm"頁(yè)面),ie很可能到臨時(shí)文件區(qū),下載上次產(chǎn)生的該頁(yè)面(openPage.html),而沒(méi)有重新加載,
對(duì)于動(dòng)態(tài)加載的頁(yè)面來(lái)說(shuō),這樣往往產(chǎn)生誤會(huì),如沒(méi)有及時(shí)更新數(shù)據(jù),也就更不利于開(kāi)發(fā)者測(cè)試。所以,你可以采用如下方式:
var strPage = “/medal.htm?random="+Math.random();
這樣每次產(chǎn)生的strPage是不一樣的,原因也就不言自明了。
下面舉兩個(gè)例子
一、返回一個(gè)字符串
首先是父頁(yè)面有個(gè)按鈕,用來(lái)打開(kāi)Modal頁(yè)面userList.aspx
{
str =window.showModalDialog("userList.aspx",window,"status:0;help:0;edge:sunken;dialogWidth=700px;dialogHeight=400px");
if(str!=undefined && typeof(str)!=undefined && str!="undefined" && str!="")
{
document.getElementById("txtuserid").value=str;
}else
{
document.getElementById("txtuserid").value="";
}
}
str就是子頁(yè)面返回過(guò)來(lái)的數(shù)據(jù),我們把它添加到父類的一個(gè)表單元素中
子頁(yè)面
{
window.returnValue=selectValue;
window.close();
}
在這里我們把子頁(yè)面里的值返回到父頁(yè)面里就可以了,然后關(guān)閉頁(yè)面就可以了
二、返回一個(gè)數(shù)據(jù)
父頁(yè)面
{
array =window.showModalDialog("demo2.aspx",window,"status:0;help:0;edge:sunken;dialogWidth=700px;dialogHeight=400px;scroll:no");
document.getElementById("username").value=array[0];
document.getElementById("sex").value=array[0];
}
子頁(yè)面
{
var array=new Array();
array[0]=document.getElementById("username").value;
Array[1]=document.getElementById("sex").value;
window.returnValue=array;
window.close();
}
返回一個(gè)數(shù)組就可以了,如果用open打開(kāi)的話,在搜狗或者360瀏覽器打開(kāi)的是一個(gè)頁(yè)面或者阻攔什么的
前段時(shí)間在后臺(tái)使用JS的winodw.showModalDialog來(lái)查看靜態(tài)頁(yè)面內(nèi)容,發(fā)現(xiàn)不能及時(shí)顯示更新后的頁(yè)面內(nèi)容,用open打開(kāi)有時(shí)也會(huì)出現(xiàn)這種問(wèn)題
解決辦法
window.showModalDialog(getUrl+"?Rnd="+Math.random(),"","dialogWidth:600px;dialogHeight:400px;help:no;scroll:yes;center:yes;status:no;");
這樣就不會(huì)有緩存了
posted @ 2012-11-26 12:51 哈希 閱讀(917) | 評(píng)論 (1) | 編輯 收藏
1.判斷select選項(xiàng)中 是否存在Value="paraValue"的Item
$("#selectid option[@value='paraValue']").length>0
2.向select選項(xiàng)中 加入一個(gè)Item
$("#selectid").append("<option value=''>1111<option>");
3.從select選項(xiàng)中 刪除一個(gè)Item
$("#selectid").remove("<option value=''>1111<option>");
4.修改select選項(xiàng)中 value="paraValue"的text為"paraText"
$("#selectid option:selected").attr("value","paraValue").attr("text","paraText");
5. 設(shè)置select中text="paraText"的第一個(gè)Item為選中
$("#selectid option[@text='paraText']").attr("selected","true")
6.設(shè)置select中 value="paraValue"的Item為選中
$("#selectid option[@value='paraValue']").attr("selected","true")
7.設(shè)置select中第一 個(gè)Item為選中
$("#selectid option").eq(0).attr('selected', 'true');
8. 得到select的當(dāng)前選中項(xiàng)的value
$("#selectid").val();
9.得到select的當(dāng)前選中項(xiàng)的text
$("#selectid").text();
10. 得到select的當(dāng)前選中項(xiàng)的Index
document.getElementById("select1").selectedIndex;
$("#selectid").get(0).selectedIndex
11. 清空select的項(xiàng)
$("#selectid").empty();
JS版本的:
posted @ 2012-11-26 12:46 哈希 閱讀(237) | 評(píng)論 (0) | 編輯 收藏
面向?qū)ο蟮娜齻€(gè)基本特征是:封裝、繼承、多態(tài)。
封裝
封裝最好理解了。封裝是面向?qū)ο蟮奶卣髦唬菍?duì)象和類概念的主要特性。
封裝,也就是把客觀事物封裝成抽象的類,并且類可以把自己的數(shù)據(jù)和方法只讓可信的類或者對(duì)象操作,對(duì)不可信的進(jìn)行信息隱藏。
繼承
面向?qū)ο缶幊?(OOP) 語(yǔ)言的一個(gè)主要功能就是“繼承”。繼承是指這樣一種能力:它可以使用現(xiàn)有類的所有功能,并在無(wú)需重新編寫原來(lái)的類的情況下對(duì)這些功能進(jìn)行擴(kuò)展。
通過(guò)繼承創(chuàng)建的新類稱為“子類”或“派生類”。
被繼承的類稱為“基類”、“父類”或“超類”。
繼承的過(guò)程,就是從一般到特殊的過(guò)程。
要實(shí)現(xiàn)繼承,可以通過(guò)“繼承”(Inheritance)和“組合”(Composition)來(lái)實(shí)現(xiàn)。
在某些 OOP 語(yǔ)言中,一個(gè)子類可以繼承多個(gè)基類。但是一般情況下,一個(gè)子類只能有一個(gè)基類,要實(shí)現(xiàn)多重繼承,可以通過(guò)多級(jí)繼承來(lái)實(shí)現(xiàn)。
繼承概念的實(shí)現(xiàn)方式有三類:實(shí)現(xiàn)繼承、接口繼承和可視繼承。
Ø 實(shí)現(xiàn)繼承是指使用基類的屬性和方法而無(wú)需額外編碼的能力;
Ø 接口繼承是指僅使用屬性和方法的名稱、但是子類必須提供實(shí)現(xiàn)的能力;
Ø 可視繼承是指子窗體(類)使用基窗體(類)的外觀和實(shí)現(xiàn)代碼的能力。
在考慮使用繼承時(shí),有一點(diǎn)需要注意,那就是兩個(gè)類之間的關(guān)系應(yīng)該是“屬于”關(guān)系。例如,Employee 是一個(gè)人,Manager 也是一個(gè)人,因此這兩個(gè)類都可以繼承 Person 類。但是 Leg 類卻不能繼承 Person 類,因?yàn)橥炔⒉皇且粋€(gè)人。
抽象類僅定義將由子類創(chuàng)建的一般屬性和方法,創(chuàng)建抽象類時(shí),請(qǐng)使用關(guān)鍵字 Interface 而不是 Class。
OO開(kāi)發(fā)范式大致為:劃分對(duì)象→抽象類→將類組織成為層次化結(jié)構(gòu)(繼承和合成) →用類與實(shí)例進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)幾個(gè)階段。
多態(tài)
多態(tài)性(polymorphisn)是允許你將父對(duì)象設(shè)置成為和一個(gè)或更多的他的子對(duì)象相等的技術(shù),賦值之后,父對(duì)象就可以根據(jù)當(dāng)前賦值給它的子對(duì)象的特性以不同的方式運(yùn)作。簡(jiǎn)單的說(shuō),就是一句話:允許將子類類型的指針賦值給父類類型的指針。
實(shí)現(xiàn)多態(tài),有二種方式,覆蓋,重載。
覆蓋,是指子類重新定義父類的虛函數(shù)的做法。
重載,是指允許存在多個(gè)同名函數(shù),而這些函數(shù)的參數(shù)表不同(或許參數(shù)個(gè)數(shù)不同,或許參數(shù)類型不同,或許兩者都不同)。
其實(shí),重載的概念并不屬于“面向?qū)ο缶幊?#8221;,重載的實(shí)現(xiàn)是:編譯器根據(jù)函數(shù)不同的參數(shù)表,對(duì)同名函數(shù)的名稱做修飾,然后這些同名函數(shù)就成了不同的函數(shù)(至少對(duì)于編譯器來(lái)說(shuō)是這樣的)。如,有兩個(gè)同名函數(shù):function func(p:integer):integer;和function func(p:string):integer;。那么編譯器做過(guò)修飾后的函數(shù)名稱可能是這樣的:int_func、str_func。對(duì)于這兩個(gè)函數(shù)的調(diào)用,在編譯器間就已經(jīng)確定了,是靜態(tài)的(記住:是靜態(tài))。也就是說(shuō),它們的地址在編譯期就綁定了(早綁定),因此,重載和多態(tài)無(wú)關(guān)!真正和多態(tài)相關(guān)的是 “覆蓋”。當(dāng)子類重新定義了父類的虛函數(shù)后,父類指針根據(jù)賦給它的不同的子類指針,動(dòng)態(tài)(記住:是動(dòng)態(tài)!)的調(diào)用屬于子類的該函數(shù),這樣的函數(shù)調(diào)用在編譯期間是無(wú)法確定的(調(diào)用的子類的虛函數(shù)的地址無(wú)法給出)。因此,這樣的函數(shù)地址是在運(yùn)行期綁定的(晚邦定)。結(jié)論就是:重載只是一種語(yǔ)言特性,與多態(tài)無(wú)關(guān),與面向?qū)ο笠矡o(wú)關(guān)!引用一句Bruce Eckel的話:“不要犯傻,如果它不是晚邦定,它就不是多態(tài)。”
那么,多態(tài)的作用是什么呢?我們知道,封裝可以隱藏實(shí)現(xiàn)細(xì)節(jié),使得代碼模塊化;繼承可以擴(kuò)展已存在的代碼模塊(類);它們的目的都是為了——代碼重用。而多態(tài)則是為了實(shí)現(xiàn)另一個(gè)目的——接口重用!多態(tài)的作用,就是為了類在繼承和派生的時(shí)候,保證使用“家譜”中任一類的實(shí)例的某一屬性時(shí)的正確調(diào)用。
泛化(Generalization)
在上圖中,空心的三角表示繼承關(guān)系(類繼承),在UML的術(shù)語(yǔ)中,這種關(guān)系被稱為泛化(Generalization)。Person(人)是基類,Teacher(教師)、Student(學(xué)生)、Guest(來(lái)賓)是子類。
若在邏輯上B是A的“一種”,并且A的所有功能和屬性對(duì)B而言都有意義,則允許B繼承A的功能和屬性。
例如,教師是人,Teacher 是Person的“一種”(a kind of )。那么類Teacher可以從類Person派生(繼承)。
如果A是基類,B是A的派生類,那么B將繼承A的數(shù)據(jù)和函數(shù)。
如果類A和類B毫不相關(guān),不可以為了使B的功能更多些而讓B繼承A的功能和屬性。
若在邏輯上B是A的“一種”(a kind of ),則允許B繼承A的功能和屬性。
聚合(組合)
若在邏輯上A是B的“一部分”(a part of),則不允許B從A派生,而是要用A和其它東西組合出B。
例如,眼(Eye)、鼻(Nose)、口(Mouth)、耳(Ear)是頭(Head)的一部分,所以類Head應(yīng)該由類Eye、Nose、Mouth、Ear組合而成,不是派生(繼承)而成。
聚合的類型分為無(wú)、共享(聚合)、復(fù)合(組合)三類。
聚合(aggregation)
上面圖中,有一個(gè)菱形(空心)表示聚合(aggregation)(聚合類型為共享),聚合的意義表示has-a關(guān)系。聚合是一種相對(duì)松散的關(guān)系,聚合類B不需要對(duì)被聚合的類A負(fù)責(zé)。
組合(composition)
這幅圖與上面的唯一區(qū)別是菱形為實(shí)心的,它代表了一種更為堅(jiān)固的關(guān)系——組合(composition)(聚合類型為復(fù)合)。組合表示的關(guān)系也是has-a,不過(guò)在這里,A的生命期受B控制。即A會(huì)隨著B的創(chuàng)建而創(chuàng)建,隨B的消亡而消亡。
依賴(Dependency)
這里B與A的關(guān)系只是一種依賴(Dependency)關(guān)系,這種關(guān)系表明,如果類A被修改,那么類B會(huì)受到影響
posted @ 2012-11-21 09:32 哈希 閱讀(221) | 評(píng)論 (0) | 編輯 收藏
數(shù)列6,10,18,32,“?”,問(wèn)“?”是幾?
1。什么是3G,2。3C 融合技術(shù),3。對(duì)大唐的認(rèn)識(shí)。
3G有三大制式,GSM升級(jí)后的WCDMA,CDMA升級(jí)后的CDMA2000,以及我國(guó)自主開(kāi)發(fā)的TD-SCDMA。
第三代移動(dòng)通信技術(shù)(3rd-generation,3G),是指支持高速數(shù)據(jù)傳輸?shù)姆涓C移動(dòng)通訊技術(shù)。3G服務(wù)能夠同時(shí)傳送聲音及數(shù)據(jù)信息,速率一般在幾百kbps以上。目前3G存在四種標(biāo)準(zhǔn):CDMA2000,WCDMA,TD-SCDMA,WiMAX。
所謂“3C產(chǎn)品”,就是計(jì)算機(jī)(Computer)、通信(Communication)和消費(fèi)類電子產(chǎn)品(ConsumerElectronics)三者結(jié)合,亦稱“信息家電”。由于3C產(chǎn)品的體積一般都不大,所以往往在中間加一個(gè)“小”字,故往往統(tǒng)稱為“3C小家電”。
3C指的是計(jì)算機(jī)(Computer)、通訊(Communication)和消費(fèi)類電子產(chǎn)品(Consumer Electrics)。3C融合即利用數(shù)字信息技術(shù)激活其中任何一個(gè)環(huán)節(jié),通過(guò)某種協(xié)議使3C的三個(gè)方面實(shí)現(xiàn)信息資源的共享和互聯(lián)互通,從而滿足人們?cè)谌魏螘r(shí)間、任何地點(diǎn)通過(guò)信息關(guān)聯(lián)應(yīng)用來(lái)方便自己的生活。 無(wú)線寬帶正是實(shí)現(xiàn)數(shù)字家庭3C融合的首要步驟。
第一部分:選擇題
1.相同碼元速率下,那種傳輸方式信息傳輸速率最高
QPSK 16QAM BPSK GMSK
2.下面哪些屬于差錯(cuò)控制編碼
3.自由空間傳播環(huán)境下信號(hào)衰減與距離( )次方成比例
4.下列哪些功能屬于網(wǎng)絡(luò)管理的功能域5a880faf6f?應(yīng)屆生求職網(wǎng)YingJieSheng.COM?c350ade2a4
故障管理配置管理計(jì)費(fèi)管理性能管理安全管理傳輸管理路由管理
5.采用CDMA技術(shù)通信系統(tǒng),擾碼的主要作用
信道估計(jì)信道區(qū)分信號(hào)白化同步
6.交織的主要作用
7.數(shù)據(jù)鏈路層的協(xié)議是
HDLC ARQ PPP ICMP RTP6fe97759aa?應(yīng)屆生求職網(wǎng)YingJieSheng.COM?b922cfa312
8.那種ATM協(xié)議最適合應(yīng)用話音業(yè)務(wù)
AAL5 AAL4 AAL3 AAL2
第二部分:填空問(wèn)答
1.香農(nóng)公式表達(dá)式
2.愛(ài)爾蘭含義
最大話務(wù)量和BHCA分別取決于什么5568161a8c?應(yīng)屆生求職網(wǎng)YingJieSheng.COM?d5792c152c
3.中繼器,網(wǎng)橋.路由器,網(wǎng)關(guān)各是兩個(gè)網(wǎng)絡(luò)的哪層連接;路由器的功能是( )和( )
4.解釋QPSK調(diào)制的原理
5.簡(jiǎn)述dB,dBm的概念
6.畫出數(shù)字通信系統(tǒng)的模型,簡(jiǎn)述信源編碼和信道編碼的區(qū)別,及其它們?cè)跓o(wú)線通信系統(tǒng)中的作用
7.C語(yǔ)言中能否在頭文件中定義變量,并說(shuō)明原因
8.在Windows系統(tǒng),能否動(dòng)態(tài)鏈接庫(kù)中定義變量,如果可以定義說(shuō)明有效范圍4005f8da13?應(yīng)屆生求職網(wǎng)YingJieSheng.COM?60d149af1f
9.結(jié)構(gòu)化程序設(shè)計(jì)中程序=
面向?qū)ο蟪绦蛟O(shè)計(jì)中程序=
10.解釋return和exit的區(qū)別
11.ATM網(wǎng)絡(luò)信元長(zhǎng)度是( ),所有信息在最底層以( )的方式傳送,以保持電路交換適合于傳送實(shí)時(shí)性很強(qiáng)的業(yè)務(wù)特點(diǎn).
12.什么是TDD,什么是FDD,多址方式又指什么?列出你所了解的多址方式
13.談?wù)剬?duì)OSI或計(jì)算機(jī)網(wǎng)絡(luò)中”協(xié)議””實(shí)體””服務(wù)”的理解以及什么是SDU PDU和Primitive?8f07f89ddb?應(yīng)屆生求職網(wǎng)YingJieSheng.COM?4c20a920bf
14.GSM邏輯信道及分類
15.談?wù)勀銓?duì)移動(dòng)通信系統(tǒng)組成的理解.
1. 描述一下public,protected,private,final關(guān)鍵字在Java中的用法?
public表示公共的,定義類的時(shí)候工程下任何包都可以讀取到,protected是受保護(hù)的,只有在相同包內(nèi)的類才能讀取到,private定義方法時(shí)候只能在類內(nèi)部才能讀取到。final表示一個(gè)終態(tài),是不可改變的。
2. Abstract class 和Interface 有什么區(qū)別?
抽象類和接口的區(qū)別如下:
(1、)抽象類是類,接口是接口;
(2、)抽象類只能繼承一個(gè),接口可以多實(shí)現(xiàn);
(3、)抽象類定義一些靜態(tài)變量可以,接口中不行;
3. Vector 和 ArrayList 有什么區(qū)別? HashTable 和 HashMap有什么區(qū)別?
vector 和 Arraylist都是繼承自集合類collection,vector是鏈表的方式實(shí)現(xiàn)的,讀取熟讀快,添加數(shù)據(jù)時(shí)候慢,Arraylist里面添加數(shù)據(jù)慢讀取數(shù)據(jù)快。
Hashtable和HashMap最大的區(qū)別是HashTable是同步的,HashMap是非同步的,所以性能上相對(duì)快一點(diǎn),HashTable是繼承自Dictionary類,而HashMap是繼承自Map接口
4. Java集合中的Iterator起什么作用?
java集合中Iterator主要作用是去除重復(fù);
5. Java中創(chuàng)建一個(gè)對(duì)象有哪幾種方法,區(qū)別是什么?
java中創(chuàng)建對(duì)象可以實(shí)例化new
6. 多線程有幾種表示方法,都是什么?同步有幾種實(shí)現(xiàn)方法,都是什么?
多線程可以通過(guò)實(shí)現(xiàn)runable接口,也可以繼承Thread類來(lái)實(shí)現(xiàn)。
實(shí)現(xiàn)同步也有兩種,一種是用同步方法,一種是用同步塊.. 同步方法就是在方法返回類型后面加上synchronized, 比如:
public void synchronized add(){...}
同步塊就是直接寫:synchronized (這里寫需要同步的對(duì)象){...}
wait():使一個(gè)線程處于等待狀態(tài),并且釋放所持有的對(duì)象的lock。
sleep():使一個(gè)正在運(yùn)行的線程處于睡眠狀態(tài),是一個(gè)靜態(tài)方法,調(diào)用此方法要捕捉InterruptedException異常。
notify():喚醒一個(gè)處于等待狀態(tài)的線程,注意的是在調(diào)用此方法的時(shí)候,并不能確切的喚醒某一個(gè)等待狀態(tài)的線程,而是由JVM確定喚醒哪個(gè)線程,而且不是按優(yōu)先級(jí)。
Allnotity():喚醒所有處入等待狀態(tài)的線程,注意并不是給所有喚醒線程一個(gè)對(duì)象的鎖,而是讓它們競(jìng)爭(zhēng)。
7. 描述一下Java中的異常機(jī)制,什么是Checked Exception, Unchecked Exception?
java中的異常機(jī)制要求你對(duì)一些存在的問(wèn)題進(jìn)行實(shí)現(xiàn)的規(guī)劃,并對(duì)相應(yīng)的Exception的情況進(jìn)行設(shè)定,當(dāng)程序捕獲類似的情況就會(huì)拋出異常,你可以定義異常的處理方法,異常并不是致命的,它與錯(cuò)誤有著區(qū)別,錯(cuò)誤只要發(fā)生程序就會(huì)終止,但是異常會(huì)繼續(xù)執(zhí)行下去。
java中的異常包括受檢查的異常和不受檢查的異常,(1、)受檢查的異常:這種在編譯時(shí)候被強(qiáng)制檢查的異常被稱作受檢查異常,即在方法中聲明的異常。(2、)不受檢查的異常:在方法得聲明中沒(méi)有聲明,但在方法的運(yùn)行過(guò)程中發(fā)生的各種異常叫做不受檢查的異常,這種異常是錯(cuò)誤,會(huì)被自動(dòng)捕獲。一些規(guī)模較小的程序中,受檢查的異常能夠提高開(kāi)發(fā)效率,但隨著項(xiàng)目規(guī)模的擴(kuò)大,過(guò)的的受檢查的異常變得難以管理,其帶來(lái)的好處也消失殆盡。
8. 描述一下Java ClassLoader 或者 J2EE ClassLoader的工作原理?(可以畫圖)
當(dāng)運(yùn)行程序是首先運(yùn)行java虛擬機(jī)(JVM),然后把java class加載到JVM里運(yùn)行,負(fù)責(zé)加載java class的這部分就叫做java ClsssLoader,
JVM本身包含一個(gè)ClassLoader成為bootstrap ClassLoader,和JVM一樣,BootstrapClassLoader使用本地代碼實(shí)現(xiàn)的,它負(fù)責(zé)加載核心javaClass(即所有java.*開(kāi)頭的類)。另外JVM還提供兩個(gè)ClassLoader,他們都是用java語(yǔ)言實(shí)現(xiàn)的,都是由BootstrapClassLoader負(fù)責(zé)加載,其中Extention ClassLoader負(fù)責(zé)加載擴(kuò)展的javaclass(例如所有以javax.*開(kāi)頭的類和存放在JRE的ext目錄下的類),ApplicationClassLoader負(fù)責(zé)加載應(yīng)用程序自身的類。
當(dāng)運(yùn)行一個(gè)程序的時(shí)候,JVM啟動(dòng),運(yùn)行Bootstrapclassloader,該classloader加載核心API(ExtClassloader和AppClassloader也在此時(shí)被加載),然后調(diào)用Extclassloader加載擴(kuò)展API,最后AppClassloader加載CLASSPATH目錄下定義的Class,這就是一個(gè)程序最基本的加載流程。
9. MVC的各個(gè)部分都有那些技術(shù)來(lái)實(shí)現(xiàn)?如何實(shí)現(xiàn)?
MVC主要包括模型層,視圖層,控制層。
模型層主要由javabean實(shí)現(xiàn),視圖層是由jsp實(shí)現(xiàn),控制層主要由servlet實(shí)現(xiàn)。
10. 描述一下Struts的工作方式?
struts1.2的工作方式主要是MVC實(shí)現(xiàn),struts2是攔截器的方式實(shí)現(xiàn)。
11. JSP中包含哪幾個(gè)內(nèi)置對(duì)象?
jsp包括九個(gè)內(nèi)置對(duì)象,分別為:request,response,session,cookie,out,application,pageRequest,Exception,
12. JSP中兩種跳轉(zhuǎn)方式分別是什么?有什么區(qū)別?
jsp兩種跳轉(zhuǎn)方式是重定向和頁(yè)面跳轉(zhuǎn),其中重定向方式執(zhí)行,form表單提交數(shù)據(jù)會(huì)失去,網(wǎng)絡(luò)地址會(huì)變化,頁(yè)面跳轉(zhuǎn)不會(huì);
13. 描述一下JSP中taglib的用法?
jsp中標(biāo)簽可以使java代碼嵌入到頁(yè)面上使用
14. Javascript中如何校驗(yàn)數(shù)字型?
正則表達(dá)式
15. EJB2.0中包括哪些內(nèi)容? 作用分別是什么?
EJB2.0
16. 一個(gè)SessionBean包含哪幾個(gè)組件?各個(gè)組件作用是什么?
17. 描述一下一個(gè)EJB應(yīng)用中EJB部署文件,以及你所熟悉的App Server的部署文件的作用?
18. 列舉一下你所知道的設(shè)計(jì)模式(包括EJB,J2EE的設(shè)計(jì)模式),以及他們應(yīng)用的場(chǎng)合?
代理模式:把一個(gè)對(duì)象注入到一個(gè)類中通過(guò)這個(gè)注入的對(duì)象來(lái)完成一系列方法,
工廠模式:一個(gè)接口下的所有類的實(shí)例可以通過(guò)專門的工廠類通過(guò)傳遞不同的參數(shù)來(lái)實(shí)現(xiàn);
Adapter(適配器)模式:將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。適配器模式的用意是將接口不同而功能相同或者相近的兩個(gè)接口加以轉(zhuǎn)換。
單例模式:?jiǎn)卫J接袃煞N:
餓漢模式
public class Singleton
{
private Singleton();
priavate static Singleton singleton = new Singleton();
public staic Singleton getInstance()
{
return instance;
}
}
懶漢模式:
public class Singleton
{
private static Singleton singleton = new Singleton();
public static synchronize Singleton()
{
if(instance == null)
{
instance = new singleton();
}
return instance;
}
}
19. 解析XML主要方法有哪些? 各有什么區(qū)別?
1、xml有哪些解析技術(shù)?區(qū)別是什么?
2、你在項(xiàng)目中用到了xml技術(shù)的哪些方面?如何實(shí)現(xiàn)的?
3、用jdom解析xml文件時(shí)如何解決中文問(wèn)題?如何解析?
4、編程用JAVA解析XML的方式.
1、xml有哪些解析技術(shù)?區(qū)別是什么?
解析XMl方法主要方法有文件流讀取,頁(yè)面XMLHttp讀取。
DOM:處理大型文件時(shí)其性能下降的非常厲害。這個(gè)問(wèn)題是由DOM的樹結(jié)構(gòu)所造成的,這種結(jié)構(gòu)占用的內(nèi)存較多,而且dom必須在解析文件之前把整個(gè)文檔裝入內(nèi)存
SAX:適合對(duì)XML文件的隨機(jī)訪問(wèn),不像DOM,SAX是事件驅(qū)動(dòng)型的XML解析方式。它順序讀取XML文件,不需要一次全部裝載整個(gè)文件。
StAX:當(dāng)遇到像文件開(kāi)頭,文檔結(jié)束,或者標(biāo)簽開(kāi)頭與標(biāo)簽結(jié)束時(shí),它會(huì)觸發(fā)一個(gè)事件,用戶通過(guò)在其回調(diào)事件中寫入處理代碼來(lái)處理XML文件,適合對(duì)XML的順序訪問(wèn)STAX:Streaming API for XML (StAX)
2、主要用到了信息存儲(chǔ)信息配置兩方面,在做數(shù)據(jù)交換平臺(tái)時(shí),將不能用數(shù)據(jù)源的數(shù)據(jù)組裝成xml文件,然后將xml文件壓縮打包加密后發(fā)給接收者,接受解密解壓縮后再同xml文件中還原相關(guān)信息進(jìn)行處理。在做軟件配置時(shí)候,利用xml文件可以方便的進(jìn)行,軟件的各種配置都存儲(chǔ)在xml文件中。
3、
20. 您了解Open Source的項(xiàng)目嗎? 如果了解請(qǐng)描述幾個(gè),并講述一下他們的作用?
apchetomcat就是一個(gè)比較好的開(kāi)源項(xiàng)目,主要作為服務(wù)器來(lái)使用。
struts是一個(gè)主要用于作為控制層的開(kāi)源框架項(xiàng)目,
spring是一個(gè)輕量級(jí)的開(kāi)源項(xiàng)目,通過(guò)控制反轉(zhuǎn)和代理模式實(shí)現(xiàn)
Hibernate是個(gè)持久層框架,用來(lái)建立與數(shù)據(jù)庫(kù)的持久層
21. 您看過(guò)哪些JAVA方面的書籍,能列舉一下嗎?
think in java ,core java,jquery in action, struts,spring ,hibernate等等方面的書都有涉獵。
posted @ 2012-11-20 20:02 哈希 閱讀(262) | 評(píng)論 (0) | 編輯 收藏
posted @ 2012-08-23 21:21 哈希 閱讀(263) | 評(píng)論 (0) | 編輯 收藏
網(wǎng)上的 Jquery ajax Demo 大多都是基于php
很少 有java的 今天就把自己的Demo貼出來(lái) 和大家共同學(xué)習(xí)
現(xiàn)在就 Jquery ajax 的 $.ajax(),$.post(),$.get();
首先是 服務(wù)端的Servlet 演示這三個(gè)函數(shù)的用法對(duì)都是用的同一個(gè) 服務(wù)端
Java代碼
package com.june.servlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
public class jqueryAjaxServer extends HttpServlet {
public jqueryAjaxServer(){
super();
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws IOException ,ServletException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out=response.getWriter();
String account=request.getParameter("account");
if("iamcrzay".equals(account)){
out.print("Sorry,the user is exist");
}
else{
out.print("Congratulation,this accont you can use!!!!");
}
out.close();
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws IOException ,ServletException {
this.doGet(request, response);
}
}
package com.june.servlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
public class jqueryAjaxServer extends HttpServlet {
public jqueryAjaxServer(){
super();
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws IOException ,ServletException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out=response.getWriter();
String account=request.getParameter("account");
if("iamcrzay".equals(account)){
out.print("Sorry,the user is exist");
}
else{
out.print("Congratulation,this accont you can use!!!!");
}
out.close();
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws IOException ,ServletException {
this.doGet(request, response);
}
}
下面是WEB.XML
Xml代碼
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns=" xmlns:xsi=" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
<servlet>
<servlet-name>jqueryAjaxServer</servlet-name>
<servlet-class>com.june.servlet.jqueryAjaxServer</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>jqueryAjaxServer</servlet-name>
<url-pattern>/jqueryAjax</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns=" xmlns:xsi=" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
<servlet>
<servlet-name>jqueryAjaxServer</servlet-name>
<servlet-class>com.june.servlet.jqueryAjaxServer</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>jqueryAjaxServer</servlet-name>
<url-pattern>/jqueryAjax</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
下面是Jsp頁(yè)面
第一個(gè)是 jqueryAjax.jsp 本頁(yè)使用的是$.ajax()
Html代碼
<%@ page language="java" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>jquery ajax</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script src="js/jquery-1.2.6.js" type="text/javascript"></script>
<script language="javascript">
$(function(){
$('.sumbit').click(function(){
if($('#account').val().length==0){
$('.hint').text("用戶名不能位空").css({"background-color":"green"});
}
else{
$.ajax({
url:'jqueryAjax',
data:{account:$('#account').val()},
error:function(){
alert("error occured!!!");
},
success:function(data){
$('body').append("<div>"+data+"</div>").css("color","red");
}
});}
});
});
</script>
</head>
<body>
<h3 align="center">jquery AjaX</h3>
<hr>
<label>請(qǐng)輸入用戶名 :</label>
<input id="account" name="account" type="text">
<input class="sumbit" type="button" value="檢測(cè)">
<div class="hint">
</div>
</body>
</html>
<%@ page language="java" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>jquery ajax</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script src="js/jquery-1.2.6.js" type="text/javascript"></script>
<script language="javascript">
$(function(){
$('.sumbit').click(function(){
if($('#account').val().length==0){
$('.hint').text("用戶名不能位空").css({"background-color":"green"});
}
else{
$.ajax({
url:'jqueryAjax',
data:{account:$('#account').val()},
error:function(){
alert("error occured!!!");
},
success:function(data){
$('body').append("<div>"+data+"</div>").css("color","red");
}
});}
});
});
</script>
</head>
<body>
<h3 align="center">jquery AjaX</h3>
<hr>
<label>請(qǐng)輸入用戶名 :</label>
<input id="account" name="account" type="text">
<input class="sumbit" type="button" value="檢測(cè)">
<div class="hint">
</div>
</body>
</html>
第二個(gè)用的是 $.post()
Html代碼
<%@ page language="java" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>jquery ajax</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script src="js/jquery-1.2.6.js" type="text/javascript"></script>
<script language="javascript">
$(function(){
$('.sumbit').click(
function(){
if($('#account').val().length==0){
$('.hint').text("The account is cant't be null").css({"color":"red","background-color":"yellow"});
}
else{
$.post("jqueryAjax","account="+$('#account').val(),function(data){
$('.hint').text(data).css({"color":"red","background-color":"yellow"});
})
}
});
});
</script>
</head>
<body>
<h3 align="center">jquery Ajax</h3>
<hr>
<label>請(qǐng)輸入用戶名 :</label>
<input id="account" name="account" type="text">
<input class="sumbit" type="button" value="檢測(cè)">
<div class="hint">
</div>
</body>
</html>
<%@ page language="java" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>jquery ajax</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script src="js/jquery-1.2.6.js" type="text/javascript"></script>
<script language="javascript">
$(function(){
$('.sumbit').click(
function(){
if($('#account').val().length==0){
$('.hint').text("The account is cant't be null").css({"color":"red","background-color":"yellow"});
}
else{
$.post("jqueryAjax","account="+$('#account').val(),function(data){
$('.hint').text(data).css({"color":"red","background-color":"yellow"});
})
}
});
});
</script>
</head>
<body>
<h3 align="center">jquery Ajax</h3>
<hr>
<label>請(qǐng)輸入用戶名 :</label>
<input id="account" name="account" type="text">
<input class="sumbit" type="button" value="檢測(cè)">
<div class="hint">
</div>
</body>
</html>
第三個(gè)是用的$.get()
Html代碼
<%@ page pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>jquery get</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script src="js/jquery-1.2.6.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$('.sumbit').click(function(){
if($('#account').val().length==0){
$('.hint').html("用戶名不能位空!!!").css({"color":"#ffoo11","background":"blue"});
}
else{
$.get("jqueryAjax","account="+$('#account').val(),
function(data){
$('.hint').html(data).css({"color":"#ffoo11","background":"green"});
});
}
});
});
</script>
</head>
<body>
<h3 align="center">jquery AjaX</h3>
<hr>
<label>請(qǐng)輸入用戶名 :</label>
<input id="account" name="account" type="text">
<input class="sumbit" type="button" value="檢測(cè)">
<div class="hint">
</div>
</body>
</html>
posted @ 2012-05-25 16:43 哈希 閱讀(239) | 評(píng)論 (0) | 編輯 收藏
width: 10%;
height:40px;
position:absolute;
z-index:4;
margin-top: 50px;
margin-bottom: 50px;
margin-left: auto;
margin-right: auto;
padding: 0px;
top:30%;
}
posted @ 2012-03-14 13:58 哈希 閱讀(170) | 評(píng)論 (0) | 編輯 收藏
String areaName=(String)request.getParameter("areaname");
String dpt=new String(dptName.getBytes("ISO8859-1"),"UTF-8");
posted @ 2012-03-01 18:45 哈希 閱讀(202) | 評(píng)論 (0) | 編輯 收藏
apache-comcat配置虛擬主機(jī)和虛擬目錄 jquery autocomplete 自動(dòng)填充文本框、文本域
JS 導(dǎo)出excel,word實(shí)例 2011-10-10 11:55:00| 分類: 默認(rèn)分類 | 標(biāo)簽:js excel word |字號(hào)大
中
小 訂閱
用js操作offace中的word,excel 必須首先確保你已經(jīng)安裝office,用js操作word,excel 用到了ActiveXObject類,它是專門用來(lái)調(diào)用windows操作中的程序的,下面是例子,直接復(fù)制到文本文件里,把后綴名改了就可以運(yùn)行!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<html xmlns="<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>無(wú)標(biāo)題文檔</title>
<script type="text/javascript" language="javascript">
function ExcelExport(tableid)
{
//檢索瀏覽器
if(navigator.userAgent.indexOf("MSIE")<0){
alert('請(qǐng)用ie瀏覽器進(jìn)行表格導(dǎo)出');
return ;
}
var oXL = null;
try {
oXL = GetObject("", "Excel.Application");
}
catch (E) {
try {
oXL = new ActiveXObject("Excel.Application");
}
catch (E2) {
alert("請(qǐng)確認(rèn):\n1.Microsoft Excel已被安裝.\n2.工具 => Internet 選項(xiàng)=> 安全 => 設(shè)置 \"啟用不安全的 ActiveX\"");
return;
}
}
var table = document.getElementById(tableid);
var workbook = oXL.Workbooks.Add();
var sheet = workbook.ActiveSheet;
var sel = document.body.createTextRange(); //激活sheet
//把table中的數(shù)據(jù)移到sel中
sel.moveToElementText(table);
sel.select(); //選中sel中所有數(shù)據(jù)
sel.execCommand("Copy");//復(fù)制sel中的數(shù)據(jù)
sheet.Columns("A:Z").ColumnWidth =20;//設(shè)置列寬
// sheet.Columns("B").ColumnWidth =35;
sheet.Rows(1).RowHeight = 35;//設(shè)置表頭高
//將sel中數(shù)據(jù)拷貝到sheet工作薄中
sheet.Paste();
oXL.Visible = true;
//sheet.Save("F:\\TEST.XLS" );
//通過(guò)打印機(jī)直接將Excel數(shù)據(jù)打印出來(lái)
//sheet.Printout;
//ax.UserControl = true;
oXL.Quit();
oXL=null;
}
</script>
</head>
<body>
<table width="100%" border="1" id="mytable">
<tr>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
</tr>
<tr>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
</tr>
<tr>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
</tr>
<tr>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
</tr>
<tr>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
<td>nihao</td>
</tr>
</table>
<form id="form1" name="form1" method="post" action="">
<label>
<input type="button" name="Submit" value="導(dǎo)出excel" onclick="ExcelExport('mytable')" />
</label>
</form>
<p> </p>
</body>
</html>
posted @ 2012-02-28 18:16 哈希 閱讀(307) | 評(píng)論 (0) | 編輯 收藏
http://www.ibm.com/developerworks/cn/web/wa-ajaxintro/ IBM—Ajax講解
http://www.w3schools.com/ajax/ajax_example.asp Ajax—Example W3CSchol
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
">
<html>
<head>
<script src="ajax.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page using AJAX</title>
</head>
<body>
<a onclick="sendRequest('GET','index.jsp')" href="#">Server Date Time:</a>
<div id="ajax_res">Server Date Time will replace this text.</div>
</body>
</html>
index.jsp
<html>
<body>
<%=new java.util.Date()%>
</body>
</html>
ajax.js
function createRequestObject(){
var req;
if(window.XMLHttpRequest){
//For Firefox, Safari, Opera
req = new XMLHttpRequest();
}
else if(window.ActiveXObject){
//For IE 5+
req = new ActiveXObject("Microsoft.XMLHTTP");
}
else{
//Error for an old browser
alert('Your browser is not IE 5 or higher, or Firefox or Safari or Opera');
}
return req;
}
//Make the XMLHttpRequest Object
var http = createRequestObject();
function sendRequest(method, url){
if(method == 'get' || method == 'GET'){
http.open(method,url);
http.onreadystatechange = handleResponse;
http.send(null);
}
}
function handleResponse(){
if(http.readyState == 4 && http.status == 200){
var response = http.responseText;
if(response){
document.getElementById("ajax_res").innerHTML = response;
}
}
}
run this application may be u get some clue
posted @ 2012-02-24 23:30 哈希 閱讀(186) | 評(píng)論 (0) | 編輯 收藏
1、將數(shù)組轉(zhuǎn)化成字符串,用特殊字符如“|”將數(shù)組的元素隔開(kāi),用普通的字符串參數(shù)傳遞
2、使用json方式傳遞參數(shù)
解析
C#后臺(tái)得到的是個(gè)string
string objStr = HttpContext.Current.Request["objStr"];
objStr內(nèi)容([{"0": "a", "1": "b", "2": "c", "3": "d"}, {"0": "aa", "1": "bb", "2": "cc", "3": "dd"}{"0": "aa", "1": "bb"}])
/// <summary>
/// 從JS數(shù)組中解析出JSON對(duì)象返回該對(duì)象的字符串表示
/// </summary>
/// <param name="ArrayStr"></param>
/// <returns></returns>
private static string GetJsonStr(string ArrayStr)
{
//ArrayStr="[{'0': 'a', '1': 'b', '2': 'c', '3': 'd'},{'0': 'aa', '1': 'bb', '2': 'cc', '3': 'dd'},{'0': 'aa', '1': 'bb'}]";
string StrJson = ArrayStr;
//將"[{"和"}]"去除;
//StrJson="'0': 'a', '1': 'b', '2': 'c', '3': 'd'},{'0': 'aa', '1': 'bb', '2': 'cc', '3': 'dd'},{'0': 'aa', '1': 'bb'";
StrJson = StrJson.Substring(2, StrJson.Length - 4);
//將“},{”替換為“|”便于分割成數(shù)組
//StrJson="'0': 'a', '1': 'b', '2': 'c', '3': 'd'|'0': 'aa', '1': 'bb', '2': 'cc', '3': 'dd'|'0': 'aa', '1': 'bb'";
StrJson = StrJson.Replace("},{", "|");
//以“|”為分隔符將每個(gè)JSON對(duì)象分割成字符串
/*結(jié)果為:strjson[0]="'0': 'a', '1': 'b', '2': 'c', '3': 'd'";
strjson[1]="'0': 'aa', '1': 'bb', '2': 'cc', '3': 'dd'";
strjson[2]="'0': 'aa', '1': 'bb'";*/
return StrJson.Split('|');
}
posted @ 2012-02-20 22:16 哈希 閱讀(209) | 評(píng)論 (0) | 編輯 收藏
ask.jsp
<script language="javascript" type="text/javascript">
function Open()
{
window.open('<%=path%>/jsp/answer.jsp' ,'_blank','top=250,left=300,width=500 height=100');
}
</script>
<body>
<form onsubmit= "return new_window(); " >
<input type="text" name="tbValue"><a href="javascript:" onclick="Open();">Open http://www.dwww.cn </a>
</form>
</body>
answer.jsp
<script language="javascript" type="text/javascript">
function SetValue(value)
{
self.opener.document.all("tbValue").value=value;
self.close();
}
</script>
<body>
Values:<br/>
<a href="javascript:SetValue('1')">value 1</a><br/>
<a href="javascript:SetValue('2')">value 2</a>
</body>
posted @ 2012-02-19 12:56 哈希 閱讀(176) | 評(píng)論 (0) | 編輯 收藏
不可以跳轉(zhuǎn)
<a href="javascript:;" onclick="javascript:ToUrl('http://www.jingzhengli.cn');">
location.href不跳轉(zhuǎn)測(cè)試1</a>
<a href="javascript:void(0);"
onclick="javascript:ToUrl('http://www.jingzhengli.cn');">
location.href不跳轉(zhuǎn)測(cè)試2</a>
可以跳轉(zhuǎn)
<a href="javascript:void(0);"
onclick="javascript:ToUrl('http://www.jingzhengli.cn');return false;">
location.href不跳轉(zhuǎn)測(cè)試3</a>
<a href="#" onclick="javascript:ToUrl('http://www.jingzhengli.cn');">
location.href不跳轉(zhuǎn)測(cè)試4</a>
<a href="###" onclick="javascript:ToUrl('http://www.jingzhengli.cn');">
location.href不跳轉(zhuǎn)測(cè)試5</a>
本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/muzai/archive/2010/11/22/6026786.aspx
posted @ 2012-02-17 13:22 哈希 閱讀(1158) | 評(píng)論 (0) | 編輯 收藏
第一種:
<script language="javascript" type="text/javascript">
window.location.href="login.jsp?backurl="+window.location.href;
</script>
第二種:
<script language="javascript">
alert("返回");
window.history.back(-1);
</script>
第三種:
<script language="javascript">
window.navigate("top.jsp");
</script>
第四種:
<script language="JavaScript">
self.location='top.htm';
</script>
第五種:
<script language="javascript">
alert("非法訪問(wèn)!");
top.location='xx.jsp';
</script>
posted @ 2012-02-16 23:09 哈希 閱讀(163) | 評(píng)論 (0) | 編輯 收藏
<HTML>
<HEAD>
<TITLE> 顯示隱藏列 </TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function setHiddenCol(oTable,iCol)//Writed by QQ:190988779 at 2007-7-24 11:14:09
{
for (i=0;i < oTable.rows.length ; i++)
{
oTable.rows[i].cells[iCol].style.display = oTable.rows[i].cells[iCol].style.display=="none"?"block":"none";
}
}
function setHiddenRow(oTable,iRow)//Writed by QQ:190988779 at 2007-7-24 11:14:09
{
oTable.rows[iRow].style.display = oTable.rows[iRow].style.display == "none"?"block":"none";
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" border="1">
<TR> <TD width="20%">00</TD> <TD width="20%" bgcolor="#E3E3E3">01</TD> <TD width="20%">02</TD></TR>
<TR> <TD width="20%" bgcolor="red">10</TD> <TD width="20%" bgcolor="green">11</TD> <TD width="20%" bgcolor="red">12</TD></TR>
<TR> <TD width="20%">20</TD> <TD width="20%" bgcolor="#E3E3E3">21</TD> <TD width="20%">22</TD></TR>
</TABLE> </P>
<INPUT id="btnHiddenCol" type="button" value="顯示/隱藏第2列" name="btnHiddenCol" onclick="setHiddenCol(document.getElementById('Table1'),1)">
<INPUT id="btnHiddenRow" type="button" value="顯示/隱藏第2行" name="btnHiddenRow" onclick="setHiddenRow(document.getElementById('Table1'),1)">
</BODY>
</HTML>
posted @ 2012-02-15 11:08 哈希 閱讀(866) | 評(píng)論 (0) | 編輯 收藏