寒江雪
BlogJava
首頁
新隨筆
聯(lián)系
聚合
管理
posts - 8, comments - 174, trackbacks - 0
struts 2.0 + 原始 AJAX + XML
實(shí)現(xiàn)邏輯:
???? 實(shí)現(xiàn)user對象的select、delete,動態(tài)的將數(shù)據(jù)更新到表格中。
?????select: 服務(wù)端返回xml數(shù)據(jù),在頁面進(jìn)行數(shù)據(jù)顯示。
?????delete :服務(wù)端將刪除信息以xml格式返回,包含刪除狀態(tài)和刪除信息。
實(shí)現(xiàn)技術(shù):
?????????struts 2.0 + AJAX + XML
主要文件:
?????????index.jsp????? user.java(數(shù)據(jù)模型)?????? UserAction.java(業(yè)務(wù)邏輯)?? struts.xml(struts2.0配置文件)
index.jsp頁面:
<%
@?page?language
=
"
java
"
?pageEncoding
=
"
UTF-8
"
%>
<%
????String?path?
=
?request.getContextPath();
????String?basePath?
=
?request.getScheme()?
+
?
"
://
"
????????????
+
?request.getServerName()?
+
?
"
:
"
?
+
?request.getServerPort()
????????????
+
?path?
+
?
"
/
"
;
%>
<!
DOCTYPE?HTML?PUBLIC?
"
-//W3C//DTD?HTML?4.01?Transitional//EN
"
>
<
html
>
????
<
head
>
????????
<
base?href
=
"
<%=basePath%>
"
>
????????
<
title
>
test?javascript
</
title
>
????
</
head
>
????
<
script?defer
=
"
defer
"
>
????
????????var?xmlHttp;???????
//
XMLHTTP對象
????????var?deleteRowId;???
//
刪除數(shù)據(jù)所在的行
????????
//
url:訪問的URL??afterMothod:請求返回時所調(diào)用的方法(回調(diào)方法)
????????function?showHint(url,afterMothod)?
{
????????????
try
{
????????????????xmlHttp?
=
?GetXmlHttpObject(afterMothod);
????????????????xmlHttp.open(
"
GET
"
,url,
false
);
????????????????xmlHttp.send(
null
);
????????????}
catch
(e)
{
????????????????alert(e);
????????????}
????????}
????????
????????
//
創(chuàng)建XMLHTTP對象
????????function?GetXmlHttpObject(handler)?
{
????????????var?objXmlHttp?
=
?
null
;
????????????
if
?(navigator.userAgent.indexOf(
"
Opera
"
)?
>=
?
0
)?
{
????????????????alert(
"
This?example?doesn't?work?in?Opera
"
);
????????????????
return
;
????????????}
????????????
if
?(navigator.userAgent.indexOf(
"
MSIE
"
)?
>=
?
0
)?
{
????????????????var?strName?
=
?
"
Msxml2.XMLHTTP
"
;
????????????????
if
?(navigator.appVersion.indexOf(
"
MSIE?5.5
"
)?
>=
?
0
)?
{
????????????????????strName?
=
?
"
Microsoft.XMLHTTP
"
;
????????????????}
????????????????
try
?
{
????????????????????objXmlHttp?
=
?
new
?ActiveXObject(strName);
????????????????????objXmlHttp.onreadystatechange?
=
?handler;
????????????????????
return
?objXmlHttp;
????????????????}
????????????????
catch
?(e)?
{
????????????????????alert(
"
Error.?Scripting?for?ActiveX?might?be?disabled
"
);
????????????????????
return
;
????????????????}
????????????}
????????????
if
?(navigator.userAgent.indexOf(
"
Mozilla
"
)?
>=
?
0
)?
{
????????????????objXmlHttp?
=
?
new
?XMLHttpRequest();
????????????????objXmlHttp.onload?
=
?handler;
????????????????objXmlHttp.onerror?
=
?handler;
????????????????
return
?objXmlHttp;
????????????}
????????}
????????
//
刷新數(shù)據(jù)
????????function?flush()?
{
????????????
try
{
????????????????
if
?(xmlHttp.readyState?
==
?
4
?
||
?xmlHttp.readyState?
==
?
"
complete
"
)?
{
????????????????????var?xmlDoc?
=
?
new
?ActiveXObject(
"
Microsoft.XMLDOM
"
);
????????????????????xmlDoc.async
=
false
;
????????????????????xmlDoc.loadXML(xmlHttp.responseText)??
????????????????
????????????????????
//
返回錯誤代碼
????????????????????
//
var?error?=?xmlDoc.parseError.errorCode;
????????????????????
//
alert(error?xmlDoc.parseError.reason:"XML格式正確");
????????????????????
????????????????????var?users
=
xmlDoc.getElementsByTagName(
"
user
"
);
????????????????????clearTable(userTable);
????????????????????
for
(var?i
=
0
;i
<
users.length;i
++
)
{
????????????????????????var?userRow
=
userTable.insertRow();
????????????????????????var?rowId
=
userRow.rowIndex;
????????????????????????
????????????????????????var?user
=
users[i];
????????????????????????var?userId
=
userRow.insertCell();
????????????????????????userId.innerHTML?
=
?user.getAttribute(
"
userId
"
);
????????????????????????var?userName
=
userRow.insertCell();
????????????????????????userName.innerHTML
=
user.getAttribute(
"
userName
"
);
????????????????????????var?userTel
=
userRow.insertCell();
????????????????????????userTel.innerHTML
=
user.getAttribute(
"
userTel
"
);
????????????????????????var?userOp
=
userRow.insertCell();
????????????????????????var?deleteUrl
=
"
user!delete.action?user.userId=
"
+
user.getAttribute(
"
userId
"
);
????????????????????????userOp.innerHTML
=
"
<a?href=javascript:deleteRowId=
"
+
rowId
+
"
;showHint('
"
+
deleteUrl
+
"
',drop);>刪除</a>
"
;
????????????????????}
????????????????}
????????????}
catch
(e)
{
????????????????alert(e.description);
????????????}
????????}
????????
//
刪除數(shù)據(jù)
????????function?drop()
{
????????????
????????????
if
?(xmlHttp.readyState?
==
?
4
?
||
?xmlHttp.readyState?
==
?
"
complete
"
)?
{
????????????????var?xmlDoc?
=
?
new
?ActiveXObject(
"
Microsoft.XMLDOM
"
);
????????????????xmlDoc.async
=
false
;
????????????????xmlDoc.loadXML(xmlHttp.responseText);
????????????????var?msg
=
xmlDoc.getElementsByTagName(
"
msg
"
)[
0
];
????????????????
????????????????
if
(msg.getAttribute(
"
isSuccess
"
)
==
"
false
"
)
{
????????????????????alert(msg.getAttribute(
"
msgString
"
));
????????????????}
else
{
????????????????????userTable.deleteRow(deleteRowId);
????????????????????alert(msg.getAttribute(
"
msgString
"
));
????????????????}
????????????}
????????}
????????
????????
//
清空表數(shù)據(jù)
????????function?clearTable(opTable)
{
????????????
????????????var?size
=
opTable.rows.length;
????????????
for
(var?i
=
2
;i
<
size;i
++
)
{
????????????????opTable.deleteRow(
2
);
????????????}
????????????
????????}
????????????
????
</
script
>
????
<
body
>
????????
<
center
>
????????????
<
h3
>
????????????????用戶列表
????????????
</
h3
>
????????????
<
br
>
????????????
<
table?id
=
"
userTable
"
?title
=
"
用戶列表
"
?width
=
"
50%
"
>
????????????????
<
tbody
>
????????????????????
<
tr?bgcolor
=
"
#54821f
"
>
????????????????????????
<
td?width
=
"
15%
"
>
????????????????????????????ID
????????????????????????
</
td
>
????????????????????????
<
td?width
=
"
15%
"
>
????????????????????????????姓名
????????????????????????
</
td
>
????????????????????????
<
td?width
=
"
20%
"
>
????????????????????????????電話
????????????????????????
</
td
>
????????????????????????
<
td?width
=
"
5%
"
>
????????????????????????????操作
????????????????????????
</
td
>
????????????????????
<
tr
>
????????????????
</
tbody
>
????????????
</
table
>
????????????
<
br
>
????????????
<
br
>
????????????
<
br
>
????????????
<
button?onclick
=
"
showHint('user!list.action',flush);
"
>
????????????????刷新
????????????
</
button
>
????????
</
center
>
????
</
body
>
</
html
>
user.java
package
?com.wen.test;
public
?
class
?User?
{
????
private
?String?userId;
????
private
?String?userName;
????
private
?String?userTel;
????
public
?String?getUserId()?
{
????????
return
?userId;
????}
????
public
?
void
?setUserId(String?userId)?
{
????????
this
.userId?
=
?userId;
????}
????
public
?String?getUserName()?
{
????????
return
?userName;
????}
????
public
?
void
?setUserName(String?userName)?
{
????????
this
.userName?
=
?userName;
????}
????
public
?String?getUserTel()?
{
????????
return
?userTel;
????}
????
public
?
void
?setUserTel(String?userTel)?
{
????????
this
.userTel?
=
?userTel;
????}
}
UserAction.java
package
?com.wen.test;
import
?java.util.List;
import
?java.util.Vector;
import
?com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings(
"
serial
"
)
public
?
class
?UserAction?
extends
?ActionSupport
{
????
private
?User?user;
????
private
?List
<
User
>
?userList;
????
private
?List
<
String
>
?msgList;
????
????
public
?String?flush()
{
????????
return
?SUCCESS;
????}
????
????
public
?String?delete()
{
????????
????????
int
?id
=
Integer.parseInt(user.getUserId());
????????msgList
=
new
?Vector
<
String
>
();
????????
if
(id
<
0
||
id
>
3
)
{
????????????msgList.add(
"
false
"
);
????????????msgList.add(
"
刪除ID為:
"
+
id
+
"
用戶失敗!!
"
);
????????}
else
{
????????????
//
做刪除操作
????????????msgList.add(
"
true
"
);
????????????msgList.add(
"
刪除ID為:
"
+
id
+
"
用戶成功!!
"
);
????????}
????????
return
?SUCCESS;
????}
????
????
public
?String?list()
{
????????
????????userList
=
new
?Vector
<
User
>
();
????????
????????user
=
new
?User();
????????user.setUserId(
"
0
"
);
????????user.setUserName(
"
wen
"
);
????????user.setUserTel(
"
029-82507114
"
);
????????userList.add(user);
????????
????????user
=
new
?User();
????????user.setUserId(
"
1
"
);
????????user.setUserName(
"
peng
"
);
????????user.setUserTel(
"
029-34650060
"
);
????????userList.add(user);
????????
????????user
=
new
?User();
????????user.setUserId(
"
2
"
);
????????user.setUserName(
"
tao
"
);
????????user.setUserTel(
"
13570854091
"
);
????????userList.add(user);
????????
????????user
=
new
?User();
????????user.setUserId(
"
2
"
);
????????user.setUserName(
"
tao
"
);
????????user.setUserTel(
"
13570854091
"
);
????????userList.add(user);
????????
????????user
=
new
?User();
????????user.setUserId(
"
2
"
);
????????user.setUserName(
"
tao
"
);
????????user.setUserTel(
"
13570854091
"
);
????????userList.add(user);
????????
????????user
=
new
?User();
????????user.setUserId(
"
2
"
);
????????user.setUserName(
"
tao
"
);
????????user.setUserTel(
"
13570854091
"
);
????????userList.add(user);
????????
????????user
=
new
?User();
????????user.setUserId(
"
2
"
);
????????user.setUserName(
"
tao
"
);
????????user.setUserTel(
"
13570854091
"
);
????????userList.add(user);
????????
????????
return
?SUCCESS;
????}
????
????
public
?User?getUser()?
{
????????
return
?user;
????}
????
public
?
void
?setUser(User?user)?
{
????????
this
.user?
=
?user;
????}
????
public
?List?getMsgList()?
{
????????
return
?msgList;
????}
????
public
?List?getUserList()?
{
????????
return
?userList;
????}
}
struts.xml
<?
xml?version="1.0"?encoding="UTF-8"
?>
<!
DOCTYPE?struts?PUBLIC
????????"-//Apache?Software?Foundation//DTD?Struts?Configuration?2.0//EN"
????????"http://struts.apache.org/dtds/struts-2.0.dtd"
>
<
struts
>
????
<
constant?
name
="struts.enable.DynamicMethodInvocation"
????????value
="true"
?
/>
????
<
constant?
name
="struts.devMode"
?value
="true"
?
/>
????
<
package?
name
="users"
?extends
="struts-default"
>
????????
<
result-types
>
????????????
<
result-type?
name
="userInfo"
?class
="com.wen.test.User"
?
/>
????????????
<
result-type?
name
="userList"
?class
="java.util.List"
?
/>
????????????
<
result-type?
name
="msgList"
?class
="java.util.List"
?
/>
????????
</
result-types
>
????????
<
action?
name
="user"
?class
="com.wen.test.UserAction"
>
????????????
<
result
>
/result.jsp
</
result
>
????????
</
action
>
????
</
package
>
</
struts
>
END
????希望對初學(xué)著有所幫助,歡迎大家一起探討java 問題!!
posted on 2007-08-15 13:05
月月鳥
閱讀(1825)
評論(9)
編輯
收藏
所屬分類:
ajax
FeedBack:
#
re: struts 2.0 + 原始 AJAX + XML
2007-08-15 17:18 |
編程、設(shè)計(jì)是職業(yè)更是愛好
不錯,大道至簡。對于WEB開發(fā),濫用的Tag是災(zāi)難。
回復(fù)
更多評論
#
re: struts 2.0 + 原始 AJAX + XML
2009-02-12 23:09 |
繼文
上面的樓主:你上面的例子能正常測試嗎?我怎么得到action中返回的一個頁面呢,希望在解釋一下。
回復(fù)
更多評論
#
re: struts 2.0 + 原始 AJAX + XML
2011-10-19 12:22 |
ww
最突出的功能自然是調(diào)試(Debug),可以對Java代碼,JavaScript,JQuery,Ajax等技術(shù)進(jìn)行調(diào)試。 其他編輯功能拋開不看,這點(diǎn)遠(yuǎn)勝Eclipse。 首先查看Map類型的對象,如果實(shí)現(xiàn)類采用的是哈希映射,則會自動過濾空的Entry實(shí)例。 不像Eclipse,只能在默認(rèn)的toString()方法中尋找你所要的key。 其次,需要動態(tài)Evaluate一個表達(dá)式的值,比如我得到了一個類的實(shí)例,但是并不知曉它的API,可以通過Code Completion點(diǎn)出它所支持的方法,這點(diǎn)Eclipse無法比擬。 最后,在多線程調(diào)試的情況下,Log on console的功能可以幫你檢查多線程執(zhí)行的情況。 前面已經(jīng)說過了IDEA所提倡的是智能編碼,是減少程序員的工作,那么IDEA具體又有哪些值得推崇呢?總結(jié)以下25點(diǎn),希望能有個比較全面的介紹。 1. 智能的選取。在很多時候我們要選取某個方法,或某個循環(huán)或想一步一步從一個變量到整個類慢慢擴(kuò)充著選取,IDEA就提供這種基于語法的選擇,在默認(rèn)設(shè)置中Ctrl+w,可以實(shí)現(xiàn)選取范圍的不斷擴(kuò)充,這種方式在重構(gòu)的時候尤其顯得方便。 2. 豐富的導(dǎo)航模式。IDEA提供了豐富的導(dǎo)航查看模式,例如ctrl+e顯示最近打開過的文件,ctrl+n顯示你希望顯示的類名查找框 (該框同樣有智能補(bǔ)充功能,當(dāng)你輸入字母后IDEA將顯示所有候選類名)。在最基本的project試圖中,你還可以選擇多種的試圖方式。 3. 歷史記錄功能。不用通過版本管理服務(wù)器,單純的IDEA就可以查看任何工程中文件的歷史記錄,但版本恢復(fù)時你可以很容易的將其恢復(fù)。 4. JUnit的完美支持。 5. 對重構(gòu)的優(yōu)越支持。IDEA是所有IDE中最早支持重構(gòu)的,其優(yōu)秀的重構(gòu)能力一直是其主要賣點(diǎn)之一。 6. 編碼輔助。java規(guī)范中提倡的tostring(),hashcode(),equals(),以及所有的get/set方法,你可以不用進(jìn)行任何的輸入就可以實(shí)現(xiàn)代碼的自動生成,從而把你從無聊的基本方法編碼中解放出來。 7. 靈活的排版功能。基本所有的IDE都有重排版功能,但僅有IDEA的是人性的,因?yàn)樗С峙虐婺J降亩ㄖ疲憧梢愿鶕?jù)不同的項(xiàng)目要求采用不同的排版方式。 8. XML的完美支持。 9. 簡潔易用的GUI界面。 10. 與文件系統(tǒng)自動同步。當(dāng)你最小化IDEA,直接對文件進(jìn)行編輯之后,重新打開IDEA后IDEA將自動的完成文件的更新,而不用重新導(dǎo)入工程或刷新工程。 11. 自定義的快捷鍵。強(qiáng)大的快捷鍵設(shè)置,基本可以讓程序員離開鼠標(biāo)工作。 12. 動態(tài)語法檢測。任何不符合java規(guī)范,自己預(yù)定義的規(guī)范,累贅都將在頁面中加亮顯示。 13. 代碼檢查。對代碼進(jìn)行自動分析,檢測不符合規(guī)范的,存在風(fēng)險(xiǎn)的代碼,并加亮顯示。 14. 對JSP的完全支持。不需要任何的插件,完全支持JSP。 15. 智能編輯。代碼輸入過程中,自動補(bǔ)充方法或類。 16. EJB支持。不需要任何插件完全支持EJB(6.0 支持ejb3.0) 17. 列編輯模式。用過UtralEdit的肯定對其的列編輯模式贊賞不已,因?yàn)樗郎p少了很多很多的無聊重復(fù)工作,而IDEA完全支持該模式,從而更加提高了編碼效率。 18. 智能模板。預(yù)置模板可以讓你把經(jīng)常用到的方法編輯進(jìn)模板,使用時你只用輸入簡單的幾個字母就可以完成全部代碼的編寫。例如使用比較高的public static void main(String[] args){}你可以在模板中預(yù)設(shè)pm為該方法,輸入時你只要輸入pm再按代碼輔助鍵,IDEA將完成代碼的自動輸入。 19. 完美的自動代碼完成。智能檢查類中方法,當(dāng)發(fā)現(xiàn)方法名只有一個時自動完成代碼輸入,從而減少剩下代碼的編寫工作。 20. Ant 支持。不需要任何的第三方插件。 21. 不使用代碼檢查。自動檢查代碼中不使用的代碼,并給出提示,從而使代碼更高效。 22. 智能代碼。自動檢查代碼,發(fā)現(xiàn)與預(yù)置規(guī)范有出入的代碼給出提示,若程序員同意修改自動完成修改。例如代碼:String str = "Hello Intellij " + "IDEA"; IDEA將給出優(yōu)化提示,若程序員同意修改IDEA將自動將代碼修改為:String str = "Hello Intellij IDEA"; 23. 正則表達(dá)的查找和替換功能。查找替代支持正則表達(dá),從而提高效率。 24. JavaDoc預(yù)覽支持。支持JavaDoc的預(yù)覽功能,在JavaDoc代碼中ctrl+q顯示JavaDoc的結(jié)果,從而提高doc文檔的質(zhì)量。 25. 程序員意圖支持。當(dāng)程序員編碼時IDEA時時檢測你的意圖,或提供建議,或直接幫你完成代碼。
回復(fù)
更多評論
#
re: struts 2.0 + 原始 AJAX + XML[未登錄]
2011-10-27 17:46 |
pp
http://www.aqee.net/docs/draw-a-stickman/
回復(fù)
更多評論
#
re: struts 2.0 + 原始 AJAX + XML[未登錄]
2011-11-02 10:55 |
pp
2011-9-29 2
2011-10-10 0.5
2011-10-11 0.5
2011-10-12 2
2011-10-13 0.5
2011-10-17 0.5
2011-10-18 1
2011-10-19 3
2011-10-20 1
2011-10-23 12
2011-10-24 0.5
2011-10-25 1
2011-10-29 7.5
回復(fù)
更多評論
#
re: struts 2.0 + 原始 AJAX + XML[未登錄]
2011-11-03 09:19 |
qq
2011/10/12 2
2011/10/17 0.5
2011/10/18 1
2011/10/19 0.5
2011/10/20 1
2011/10/23 11
2011/10/25 1
2011/10/29 7.5
回復(fù)
更多評論
#
re: struts 2.0 + 原始 AJAX + XML
2012-02-18 08:22 |
月月鳥
http://blog.csdn.net/ocelight/article/details/4510192
回復(fù)
更多評論
#
re: struts 2.0 + 原始 AJAX + XML
2012-02-18 08:26 |
月月鳥
http://topic.csdn.net/u/20110113/10/801168dd-a390-40cb-b381-53021e3d4e4e.html?26658
回復(fù)
更多評論
#
re: struts 2.0 + 原始 AJAX + XML[未登錄]
2013-05-30 11:05 |
bb
http://blog.csdn.net/lihongzhai/article/details/2074031
回復(fù)
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關(guān)文章:
struts2.0 + ajax + xml (附源碼)
struts 2.0 + 原始 AJAX + XML
Copyright ©2025 月月鳥 Powered By:
博客園
模板提供:
滬江博客
<
2007年8月
>
日
一
二
三
四
五
六
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(5)
給我留言
查看公開留言
查看私人留言
隨筆分類
(8)
ajax(2)
eclipse
flex(1)
hibernate
ibatis
J2EE(1)
J2SE(1)
javascript
jsf
spring
struts
webwork
其他(3)
報(bào)表(report)
隨筆檔案
(8)
2007年8月 (8)
文章分類
(1)
flex
其他(1)
新技術(shù)
文章檔案
(1)
2012年4月 (1)
其他
ext 中文文檔中心
javascirpt封裝庫API中文文檔
Flex中文網(wǎng)站
ORM Tool
中間件技術(shù)
娛樂
技術(shù)
dhtml學(xué)習(xí)
ext中文學(xué)習(xí)中心
Flex程序示例
prototype1.5.0中文API在線版
SpringSide---企業(yè)應(yīng)用的開源構(gòu)件庫
搜索
積分與排名
積分 - 116234
排名 - 504
最新隨筆
1.?PostgreSQL 數(shù)據(jù)庫性能提升的幾個方面
2.?收藏微軟面試智力題 (附答案)
3.?struts2.0 + ajax + xml (附源碼)
4.?經(jīng)典收藏----和大家一同分享
5.?嘗試Flex3 令人振奮的新功能——framework持久化緩存
6.?LOG4J 之經(jīng)典篇
7.?swing 選擇日期控件
8.?探討J2EE開發(fā)框架-----高手留言
9.?struts 2.0 + 原始 AJAX + XML
最新評論
1.?re: PostgreSQL 數(shù)據(jù)庫性能提升的幾個方面
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--月月鳥
2.?re: PostgreSQL 數(shù)據(jù)庫性能提升的幾個方面
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--月月鳥
3.?re: PostgreSQL 數(shù)據(jù)庫性能提升的幾個方面
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--pt
4.?re: PostgreSQL 數(shù)據(jù)庫性能提升的幾個方面
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--pt
5.?re: PostgreSQL 數(shù)據(jù)庫性能提升的幾個方面
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--pt
6.?re: PostgreSQL 數(shù)據(jù)庫性能提升的幾個方面
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--pt
7.?re: PostgreSQL 數(shù)據(jù)庫性能提升的幾個方面
黃金時時彩全能計(jì)劃王
黃金時時彩全能計(jì)劃王
--pt
8.?re: swing 選擇日期控件
@交口稱贊 郵箱arvinsw521403@163.com
--zhangyi
9.?re: swing 選擇日期控件
@交口稱贊 求下拉出時間的代碼!感激不盡
--zhangyi
10.?re: PostgreSQL 數(shù)據(jù)庫性能提升的幾個方面
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--pt
評論排行榜
1.?收藏微軟面試智力題 (附答案)(104)
2.?struts2.0 + ajax + xml (附源碼)(17)
3.?swing 選擇日期控件(13)
4.?探討J2EE開發(fā)框架-----高手留言(10)
5.?struts 2.0 + 原始 AJAX + XML(9)
6.?LOG4J 之經(jīng)典篇(7)
7.?嘗試Flex3 令人振奮的新功能——framework持久化緩存(3)
8.?經(jīng)典收藏----和大家一同分享(1)
主站蜘蛛池模板:
免费成人激情视频
|
久9这里精品免费视频
|
好吊色永久免费视频大全
|
波霸在线精品视频免费观看
|
今天免费中文字幕视频
|
日日麻批免费40分钟无码
|
黄色片在线免费观看
|
国产精品va无码免费麻豆
|
亚洲国产V高清在线观看
|
亚洲国产美女精品久久久久∴
|
亚洲人成在线播放网站岛国
|
亚洲国产日韩视频观看
|
手机永久免费的AV在线电影网
|
中文字幕乱码一区二区免费
|
国产高清不卡免费在线
|
色吊丝最新永久免费观看网站
|
亚洲精品国产高清不卡在线
|
亚洲日韩区在线电影
|
亚洲欧美一区二区三区日产
|
亚洲一级片免费看
|
亚洲免费人成视频观看
|
免费国产高清视频
|
久久久久亚洲AV成人无码
|
亚洲一区二区三区写真
|
亚洲国产香蕉碰碰人人
|
亚洲www在线观看
|
一级做a毛片免费视频
|
222www免费视频
|
亚洲AⅤ无码一区二区三区在线
|
亚洲综合日韩中文字幕v在线
|
欧洲亚洲综合一区二区三区
|
一个人看的www免费视频在线观看 一个人免费视频观看在线www
|
亚洲一区中文字幕久久
|
亚洲AV成人无码久久WWW
|
暖暖免费日本在线中文
|
在线永久免费观看黄网站
|
亚洲AV人人澡人人爽人人夜夜
|
亚洲精品成a人在线观看☆
|
日本免费污片中国特一级
|
日韩视频免费一区二区三区
|
久久久久亚洲Av片无码v
|