会话超时管理

当会话超时之后,所有它属于的桌面都会被移除。若用户继续访问已经不存在的桌面,浏览器端会显示一条错误信息来提醒用户。

有时最好转到另一个页面,这样可以给用户更易理解的描述,引导他们转向其它资源,或要求他们重新登录。你可以在WEB-INF目录下的zk.xml文件内指定目标URI,即超时的时候重定向的路径。例如,目标URI为 /timeout.zul,那么你可以将下列几行添加到zk.xml

<device-config>
   <device-type>ajax</device-type>
   <timeout-uri>/timeout.zul</timeout-uri>
</device-config>

[提示]: 每个设备(device)都有一个确切的超时URI。更多关于zk.xml信息请参考the Developer's Reference 的附录B(Appendix B)。

除了配置zk.xml,你可以手动更改重定向的URI,如下。

Devices.setTimeoutURI("ajax", "/timeout.zul");

关于Device: device代表客户端device。每个桌面都关联一个device ,反之亦然(A device represents the client device. Each desktop is associated with one device, and vice versa)。

若你更喜欢重载页面,而不是重定向到其它的URI,可以指定一个空的URI,如下。

<device-config>
   <device-type>ajax</device-type>
   <timeout-uri></timeout-uri>
</device-config>