|
|
| ArcGIS Server JAVA讲座--实现后台JSF Bean和前台Javascript的联动 |
| 作者:不详 来源:vscodes.com整理 发布时间:2007-6-26 17:21:15 发布人:Polaris |
减小字体
增大字体
很多开发人员都梦寐以求的方案,我在论坛里面也看到很多人提出这样的问题,今天集中对这些问题做一个解答,也是作为Server JAVA讲座的一个部分。另外,要说明的是,今天的讲座不包括AJAX技术。AJAX技术会另开一个讲座。 先以一个问题开始,如果我们的webapplication中对geodatabase进行了编辑,大家都知道,这个时候需要一个提交编辑并保存,或者提交编辑并取消的过程,大家都用过ArcMAP,如果没有用过ArcMAP,word总是用过的,编辑过的东西,一关闭,肯定会给你警告。这个问题在桌面程序中简直就不是问题,在web上,我们倒是可以来说一说了,因为server和你的browser可能相距几万公里,你这边要关闭browser,在美国的服务器怎么能够知道你要关闭呢?服务器上运行的是JSF的Bean,而客户端运行的是Javascript,怎么让Javascript去感知后台的情况,给用户一个提示,这样就会很好地显示我们程序的友好性,对建设以人为本的和谐社会也大有好处。那么我们来看看如何做这个事情。 Browser关闭时会产生onUnload事件,有了这个事件,使我们有机会做一些事情,比如下面的语句,显示一个信息
<body onUnload="javascript: alert('你要关闭我么?')">
在body中添加了这一句后,是不是已经看到了那个温柔的问句呢?如果是,那么你的Browser是支持这个onUnload事件的。下面来看这段代码:
function checkTime(){ var isModified=<c:out value="${editBean.edited }"/>; if(isModified ==true) alert("更新没有保存"); }
这个代码很有意思,其它的好说,<c:out value="${editBean.edited }"/>不好理解,这是JSTL,如果没有见过JSTL,google或者baidu一下看看吧。editBean是一个标准的JSF的bean,它在faces-config.xml文件中部署,它有一个属性和属性的getter,setter方法,如下:
private boolean edited=false; public boolean isEdited() { return edited; } public void setEdited(boolean edited) { this.edited = edited; }
你在开始编辑的时候,设置edited为true就可以了。JSTL能够用过<c:out>标签访问到这个bean的值。这样,就实现了前台Javascript和后台JSF bean的联动。
是不是看了这个文章,马上摩拳擦掌,准备去修改您的程序呢?
End of《ArcGIS Server JAVA讲座--实现后台JSF Bean和前台Javascript的联动》
|
|
[]
[返回上一页]
[打 印]
[收 藏] |
|
|
|
|
|
|
| ∷相关“ArcGIS Server JAVA讲座--实现后台JSF Bean和前台Javascript的联动”文章评论∷ |
| (评论内容只代表网友观点,与本站立场无关!) [更多评论...] |
|
|