H2O
BlogJava
首頁
新隨筆
聯系
聚合
管理
隨筆分類
java
(rss)
職業生涯o 0O
(rss)
文章分類
ajax(6)
(rss)
css(5)
(rss)
DataBase(9)
(rss)
ejb
(rss)
EXT(1)
(rss)
hibernate(4)
(rss)
java(14)
(rss)
javascript(13)
(rss)
spring(1)
(rss)
Spring+Struts+Hibernate整合(4)
(rss)
struts(4)
(rss)
webwork
(rss)
職業生涯規劃(1)
(rss)
那一天o 0 O(1)
(rss)
面試(1)
(rss)
文章檔案
2013年10月 (1)
2013年9月 (30)
2013年8月 (7)
2012年2月 (1)
2011年9月 (1)
2011年8月 (1)
2010年10月 (1)
2009年10月 (5)
2009年9月 (4)
2009年8月 (2)
2009年7月 (2)
2009年6月 (4)
2009年5月 (7)
2009年3月 (3)
2008年12月 (1)
2008年11月 (3)
2008年10月 (8)
2008年9月 (12)
2008年8月 (8)
相冊
程序相關
最新隨筆
1.?Debian / Ubuntu ---support UTF-8 locale/encoding
2.?Firefox Latest version
3.?重寫 FastJson 屬性過濾器
4.?freeradius for pptp
5.?Configuring Wildcard AlphaSSL from Centrio Host
6.?SSL
7.?some errors occured in complie firefox source
8.?checking for libnotify >= 0.4... Package libnotify was not found in the pkg-config search path.
9.?modify max_connections on mysql
10.?centos encoding
最新評論
1.?re: js獲取textarea中輸入文本的本選擇內容
333333
--333
2.?re: 小毅原創---struts+spring+hibernate整合小例子
俄方
--預報呢
3.?re: some errors occured in complie firefox source
Thank you very very much for this post!
jelz
--Jelz
4.?re: some errors occured in complie firefox source
Thank you very much for this post!
Jelz
--Jelz
5.?re: Ibatis之LIKE用法[未登錄]
如果用'%$note$%'會造成sql注入的漏洞,使用拼接字符串的方法不錯
--KANG
Dwr框架在客戶端遠程調用方法返回自定義類型的例子
Posted on 2008-08-23 01:19
H2O
閱讀(2296)
評論(2)
編輯
收藏
所屬分類:
ajax
package
com.yz.dwr;
/** */
/**
* 用戶
*
@author
小毅
*
*/
public
class
Users
{
private
int
uid;
private
String uname;
private
int
sex;
private
Dept dep;
public
Users(
int
uid, String uname,
int
sex, Dept dep)
{
super
();
this
.uid
=
uid;
this
.uname
=
uname;
this
.sex
=
sex;
this
.dep
=
dep;
}
public
Users()
{
}
public
int
getUid()
{
return
uid;
}
public
void
setUid(
int
uid)
{
this
.uid
=
uid;
}
public
String getUname()
{
return
uname;
}
public
void
setUname(String uname)
{
this
.uname
=
uname;
}
public
int
getSex()
{
return
sex;
}
public
void
setSex(
int
sex)
{
this
.sex
=
sex;
}
public
Dept getDep()
{
return
dep;
}
public
void
setDep(Dept dep)
{
this
.dep
=
dep;
}
}
package
com.yz.dwr;
import
java.util.
*
;
import
com.yz.dwr.
*
;
public
class
myControl
{
//
演示在客戶端利用DWR框架獲得自定義對象以及集合中的對象的相關屬性值
public
List
<
Users
>
getAllUsers()
{
List
<
Users
>
lst
=
new
ArrayList
<
Users
>
();
//
只是為了演示方便所以僅模仿從數據庫獲取數據獲得數據
for
(
int
i
=
1
; i
<=
10
; i
++
)
{
lst.add(
new
Users(i,
"
xiaoyi
"
+
i,i
%
2
,
new
Dept(i
+
1
,
"
部門
"
+
i,
"
部門描述
"
+
i)));
}
System.out.println(
"
集合的大小為--->
"
+
lst.size());
return
lst;
}
}
package
com.yz.dwr;
/** */
/**
* 部門
* @小毅
*/
public
class
Dept
{
private
int
deptId;
private
String deptName;
private
String description;
public
Dept(
int
deptId, String deptName, String description)
{
super
();
this
.deptId
=
deptId;
this
.deptName
=
deptName;
this
.description
=
description;
}
public
Dept()
{
}
public
int
getDeptId()
{
return
deptId;
}
public
void
setDeptId(
int
deptId)
{
this
.deptId
=
deptId;
}
public
String getDeptName()
{
return
deptName;
}
public
void
setDeptName(String deptName)
{
this
.deptName
=
deptName;
}
public
String getDescription()
{
return
description;
}
public
void
setDescription(String description)
{
this
.description
=
description;
}
}
dwr.xml
<?
xml version="1.0" encoding="UTF-8"
?>
<!
DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd"
>
<
dwr
>
<
allow
>
<!--
要判斷后臺是否已經寫好,可以到測試也看一看
-->
<!--
轉換器:dwr框架根據轉換器的配置自動轉換成json對象
bean 以javabean的方式轉換
所有參數如下:
自定義 Converters(轉換)
Bean/Object Converter
Array/Collection Converter
Dom Objects
Enum Converter
-->
<
convert
converter
="bean"
match
="com.yz.dwr.Dept"
>
<!--
這里可以加參數,如果沒有加就會把該類的所有屬性轉為json對象,如果
加了參數表示只會轉換value包含的屬性值到json對象,要轉換的各屬性用逗號隔開
<param name="include" value="uid,username"/>
-->
</
convert
>
<
convert
converter
="bean"
match
="com.yz.dwr.Users"
></
convert
>
<!--
javascript的對象是xiaoyi,create="new"是DWR通過new關鍵字創建value所對應的
類的實例調用該類的方法 include表示只允許調用某些方法,exclude表示除了某方法之外其他
的都不能調用 如果都沒寫表示所有公有方法都能調用
-->
<
create
creator
="new"
javascript
="xiaoyi"
>
<
param
name
="class"
value
="com.yz.dwr.myControl"
></
param
>
</
create
>
</
allow
>
</
dwr
>
web.xml
<
servlet
>
<
servlet-name
>
dwr-invoker
</
servlet-name
>
<
servlet-class
>
org.directwebremoting.servlet.DwrServlet
</
servlet-class
>
<
init-param
>
<
param-name
>
debug
</
param-name
>
<
param-value
>
true
</
param-value
>
</
init-param
>
</
servlet
>
<
servlet-mapping
>
<
servlet-name
>
dwr-invoker
</
servlet-name
>
<
url-pattern
>
/dwr/*
</
url-pattern
>
</
servlet-mapping
>
<%
@ page language
=
"
java
"
import
=
"
java.util.*
"
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
>
DWR框架操作自定義類型
</
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"
>
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<
script
type
='text/javascript'
src
='/dwrTest2/dwr/interface/xiaoyi.js'
></
script
>
<
script
type
='text/javascript'
src
='/dwrTest2/dwr/engine.js'
></
script
>
<
script
type
='text/javascript'
src
='/dwrTest2/dwr/util.js'
></
script
>
<
script
type
="text/javascript"
>
//
objInList是遠程調用方法返回的集合循環遍歷的第i個對象
var
deptName
=
function
(objInList)
{
//
返回第i個對象(用戶對象)的部門對象屬性的部門名稱
return
objInList.dep.deptName;
}
function
gets()
{
//
遠程調用服務器的方法,并指定回調函數處理
xiaoyi.getAllUsers(deals);
}
;
function
deals(rst)
{
//
回調函數的參數為:遠程調用的返回結果
//
dwr.util.addOptions("sl",rst,"uid","uname");
dwr.util.addOptions(
"
sl
"
,rst,
"
uid
"
,deptName);
//
給tbody添加數據肯定是一個集合,即d 但是不知道有多少列,所以用【這里面寫幾個就表示幾個列 】
dwr.util.addRows(
"
tb
"
,rst,[
"
uid
"
,
"
uname
"
,deptName]);
}
</
script
>
</
head
>
<
body
>
<
input
type
="button"
value
="添加內容"
onclick
="gets();"
>
<
select
id
="sl"
></
select
>
<
table
>
<
tbody
id
="tb"
></
tbody
>
</
table
>
</
body
>
</
html
>
Feedback
#
re: Dwr框架在客戶端遠程調用方法返回自定義類型的例子[未登錄]
回復
更多評論
2008-11-27 09:52 by
dragon
請教下,為什么我從hibernate里面拉出來的數據,返回前臺時,第一項數據為空, 自定義類型中含有另一個自定義類型,就跟你寫的Users中含有dept類型的屬性,報錯信息 s0 is not defined,使用firebug查看后臺傳到前數的數據.dwr.engine._remoteHandleCallback('0','0',[null,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10]);
麻煩兄弟指點下,謝謝
#
re: Dwr框架在客戶端遠程調用方法返回自定義類型的例子
回復
更多評論
2009-02-19 08:18 by
fdwwh
這個例子很好!
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
小毅原創之---無聊時心血來潮純手寫ajax請求封裝類(ajax請求參數支持JSON對象)
小毅總結之JSON與AJAX
使用xmlhttp和Java session監聽改善站內消息系統
ajax上傳下載
Dwr框架在客戶端遠程調用方法返回自定義類型的例子
dwr入門
評論排行榜
閱讀排行榜
posts - 0, comments - 21, trackbacks - 0, articles - 101
Copyright © H2O
主站蜘蛛池模板:
云林县
|
尖扎县
|
稻城县
|
东莞市
|
中宁县
|
宁都县
|
清水河县
|
凤山市
|
从化市
|
朝阳区
|
新密市
|
临潭县
|
兰考县
|
永顺县
|
富宁县
|
错那县
|
祥云县
|
高陵县
|
屏东市
|
绥江县
|
通山县
|
罗定市
|
永丰县
|
馆陶县
|
台东县
|
汝州市
|
朝阳市
|
息烽县
|
大姚县
|
阿拉善左旗
|
越西县
|
梅河口市
|
麻阳
|
西峡县
|
贵南县
|
平谷区
|
张家港市
|
宜宾县
|
波密县
|
叶城县
|
吉林市
|