DWR笔记2
来源:互联网 发布:淘宝清仓活动方案 编辑:程序博客网 时间:2024/06/01 08:42
用javascript对象去匹配 java 对象
public class Remote {
public void setPerson(Person p) {
this.person = p;
}
}
And Classes Person looks like this:
public Person {
private String name;
private int age;
private Date[] appointments;
// getters and setters ...一定要补上getter与setter
}
//Then you can call this from Javascript like this:
var p = {
name:"Fred Bloggs",
age:42,
appointments:[ new Date(), new Date("1 Jan 2008") ]
};
Remote.setPerson(p);
因为setPerson()使用 VOID 修饰所以 在javascript中不不需要回调函数,即便你写了回调函数
,DWR也不会将任何值给传回来
当然 你也可以这样写
Remote.setPerson(null,p);
异步Loading提示
DWR标准情况下是展现GMAIL样式的Loading消息提示,你可以在page loaded之后调用
loading消息提示,但不可以在page onload之前调用.因为loading的原理还是用一个hide
的层来包容loading消息.
在DWR中只要很简单的一步就可以完成GMAIL样式的loading设置
<head>
<script>
function init() {
DWRUtil.useLoadingMessage();
}
</script>
...
</head>
<body onload="init();">
当然有些时候可能无法去修改<BODY>元素,那么你可以用CMS方式来修改
<script>
function init() {
DWRUtil.useLoadingMessage();
}
if (window.addEventListener) {
window.addEventListener("load", init, false);
}
else if (window.attachEvent) {
window.attachEvent("onload", init);
}
else {
window.onload = init;
}
</script>
你也可以动态的创建一个层(with id="disabledZone") ,它将包含提示消息
下面是2个改进的程序
第一个允许你修改属于你自己的提示消息
function useLoadingMessage(message) {
var loadingMessage;
if (message) loadingMessage = message;
else loadingMessage = "Loading";
DWREngine.setPreHook(function() {
var disabledZone = $('disabledZone');
if (!disabledZone) {
disabledZone = document.createElement('div');
disabledZone.setAttribute('id', 'disabledZone');
disabledZone.style.position = "absolute";
disabledZone.style.zIndex = "1000";
disabledZone.style.left = "0px";
disabledZone.style.top = "0px";
disabledZone.style.width = "100%";
disabledZone.style.height = "100%";
document.body.appendChild(disabledZone);
var messageZone = document.createElement('div');
messageZone.setAttribute('id', 'messageZone');
messageZone.style.position = "absolute";
messageZone.style.top = "0px";
messageZone.style.right = "0px";
messageZone.style.background = "red";
messageZone.style.color = "white";
messageZone.style.fontFamily = "Arial,Helvetica,sans-serif";
messageZone.style.padding = "4px";
disabledZone.appendChild(messageZone);
var text = document.createTextNode(loadingMessage);
messageZone.appendChild(text);
}
else {
$('messageZone').innerHTML = loadingMessage;
disabledZone.style.visibility = 'visible';
}
});
DWREngine.setPostHook(function() {
$('disabledZone').style.visibility = 'hidden';
});
}
第2个你能使用图片作为提示消息
function useLoadingImage(imageSrc) {
var loadingImage;
if (imageSrc) loadingImage = imageSrc;
else loadingImage = "ajax-loader.gif";
DWREngine.setPreHook(function() {
var disabledImageZone = $('disabledImageZone');
if (!disabledImageZone) {
disabledImageZone = document.createElement('div');
disabledImageZone.setAttribute('id', 'disabledImageZone');
disabledImageZone.style.position = "absolute";
disabledImageZone.style.zIndex = "1000";
disabledImageZone.style.left = "0px";
disabledImageZone.style.top = "0px";
disabledImageZone.style.width = "100%";
disabledImageZone.style.height = "100%";
var imageZone = document.createElement('img');
imageZone.setAttribute('id','imageZone');
imageZone.setAttribute('src',imageSrc);
imageZone.style.position = "absolute";
imageZone.style.top = "0px";
imageZone.style.right = "0px";
disabledImageZone.appendChild(imageZone);
document.body.appendChild(disabledImageZone);
}
else {
$('imageZone').src = imageSrc;
disabledImageZone.style.visibility = 'visible';
}
});
DWREngine.setPostHook(function() {
$('disabledImageZone').style.visibility = 'hidden';
});
}
DWRUtil.toDescriptiveString()用于debug 页面上的任何Html控件
DWRUtil.toDescriptiveString(p1,p2)
其中p1 代表你将要bebug的控件id名称
p2 (int={0,1,2})
其中 0 返回单行调试信息
1/2 返回多行调试信息
public class Remote {
public void setPerson(Person p) {
this.person = p;
}
}
And Classes Person looks like this:
public Person {
private String name;
private int age;
private Date[] appointments;
// getters and setters ...一定要补上getter与setter
}
//Then you can call this from Javascript like this:
var p = {
name:"Fred Bloggs",
age:42,
appointments:[ new Date(), new Date("1 Jan 2008") ]
};
Remote.setPerson(p);
因为setPerson()使用 VOID 修饰所以 在javascript中不不需要回调函数,即便你写了回调函数
,DWR也不会将任何值给传回来
当然 你也可以这样写
Remote.setPerson(null,p);
异步Loading提示
DWR标准情况下是展现GMAIL样式的Loading消息提示,你可以在page loaded之后调用
loading消息提示,但不可以在page onload之前调用.因为loading的原理还是用一个hide
的层来包容loading消息.
在DWR中只要很简单的一步就可以完成GMAIL样式的loading设置
<head>
<script>
function init() {
DWRUtil.useLoadingMessage();
}
</script>
...
</head>
<body onload="init();">
当然有些时候可能无法去修改<BODY>元素,那么你可以用CMS方式来修改
<script>
function init() {
DWRUtil.useLoadingMessage();
}
if (window.addEventListener) {
window.addEventListener("load", init, false);
}
else if (window.attachEvent) {
window.attachEvent("onload", init);
}
else {
window.onload = init;
}
</script>
你也可以动态的创建一个层(with id="disabledZone") ,它将包含提示消息
下面是2个改进的程序
第一个允许你修改属于你自己的提示消息
function useLoadingMessage(message) {
var loadingMessage;
if (message) loadingMessage = message;
else loadingMessage = "Loading";
DWREngine.setPreHook(function() {
var disabledZone = $('disabledZone');
if (!disabledZone) {
disabledZone = document.createElement('div');
disabledZone.setAttribute('id', 'disabledZone');
disabledZone.style.position = "absolute";
disabledZone.style.zIndex = "1000";
disabledZone.style.left = "0px";
disabledZone.style.top = "0px";
disabledZone.style.width = "100%";
disabledZone.style.height = "100%";
document.body.appendChild(disabledZone);
var messageZone = document.createElement('div');
messageZone.setAttribute('id', 'messageZone');
messageZone.style.position = "absolute";
messageZone.style.top = "0px";
messageZone.style.right = "0px";
messageZone.style.background = "red";
messageZone.style.color = "white";
messageZone.style.fontFamily = "Arial,Helvetica,sans-serif";
messageZone.style.padding = "4px";
disabledZone.appendChild(messageZone);
var text = document.createTextNode(loadingMessage);
messageZone.appendChild(text);
}
else {
$('messageZone').innerHTML = loadingMessage;
disabledZone.style.visibility = 'visible';
}
});
DWREngine.setPostHook(function() {
$('disabledZone').style.visibility = 'hidden';
});
}
第2个你能使用图片作为提示消息
function useLoadingImage(imageSrc) {
var loadingImage;
if (imageSrc) loadingImage = imageSrc;
else loadingImage = "ajax-loader.gif";
DWREngine.setPreHook(function() {
var disabledImageZone = $('disabledImageZone');
if (!disabledImageZone) {
disabledImageZone = document.createElement('div');
disabledImageZone.setAttribute('id', 'disabledImageZone');
disabledImageZone.style.position = "absolute";
disabledImageZone.style.zIndex = "1000";
disabledImageZone.style.left = "0px";
disabledImageZone.style.top = "0px";
disabledImageZone.style.width = "100%";
disabledImageZone.style.height = "100%";
var imageZone = document.createElement('img');
imageZone.setAttribute('id','imageZone');
imageZone.setAttribute('src',imageSrc);
imageZone.style.position = "absolute";
imageZone.style.top = "0px";
imageZone.style.right = "0px";
disabledImageZone.appendChild(imageZone);
document.body.appendChild(disabledImageZone);
}
else {
$('imageZone').src = imageSrc;
disabledImageZone.style.visibility = 'visible';
}
});
DWREngine.setPostHook(function() {
$('disabledImageZone').style.visibility = 'hidden';
});
}
DWRUtil.toDescriptiveString()用于debug 页面上的任何Html控件
DWRUtil.toDescriptiveString(p1,p2)
其中p1 代表你将要bebug的控件id名称
p2 (int={0,1,2})
其中 0 返回单行调试信息
1/2 返回多行调试信息
- DWR笔记2
- DWR学习笔记2
- DWR 笔记
- DWR笔记
- DWR笔记
- DWR笔记
- [DWR(Ajax)]DWR使用笔记
- [DWR(Ajax)]DWR使用笔记
- [DWR(Ajax)]DWR使用笔记
- [DWR(Ajax)]DWR使用笔记
- DWR 学习笔记
- DWR使用笔记(转)
- DWR使用笔记
- DWR初学者笔记
- dwr学习笔记
- dwr学习笔记
- DWR学习笔记
- dwr学习笔记
- Ultra String Reference 0.12 by luocong
- [08-01] 解决Hupigon.bwt、ZhengTu.bn、QQPass.hd、Flowdy.b等病毒(第2版)
- 自己日记
- Java Web应用中的任务调度
- C标准库实现分析
- DWR笔记2
- JavaScript中的函数
- 自定义Web控件(简单的Repeater数据绑定)
- Tomcat下配置数据源
- Openlaszlo 开发技术简介
- 读写Ini文件
- 网吧招聘
- W3C建议XHTML™ 1.0(2000年1月26日)的中文版
- 汇编语言程序设计读书笔记(2)