从HTTP层看,在浏览器实例之间传递参数最简单和直接的方式有2种:POST和GET。随着各种Web容器的使用,POST方法使用的越来越多,而GET方法用的人越来越少了。其实,很多时候,GET由于其在URL里面的可见性给用户和调试带来很多方便。但是,ZK由于其最初设计就是完全的ajax平台,故而使用GET方法并不是件很简单的事情,分为发送和接收两块:
发送代码:window.open("addRTU.zul?lat="+lat+"&lng="+lng,"_self","height=400, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no");
GET的接收也就是对QueryString的解析,这个部分ZK已经提供了与jsp 1.0兼容的接口,不过获取的对象是ZK封装好的,使用如下语句:
String queryString = com.getDesktop().getExecution().getParameter("name");
其中,com可以是任意的页面上的控件元素。
接收代码:String lat = addRTUWin.getDesktop().getExecution().getParameter("lat");
String lng = addRTUWin.getDesktop().getExecution().getParameter("lng");