2011-06-01 98 views
2

您好同胞开发商,我在收到问题上设置ZK定时器方法,默认的方法我.zul页:如何添加Java方法定时器重定向在ZK

<timer id="timer" delay="1000" repeats="false" 
onTimer="response.sendRedirect('./Login.zul')" /> 

但代码是错误(我认为beacuse('./Login.zul'),如果我尝试(\“./ Login.zul \”),仍然显示错误),我尝试在我的控制器页面中构建像这样:

 private Timer timer=new Timer(1000); 

    public OTPController() { 

     timer.setRepeats(true); 
     timer.setAttribute("onTimer","response.sendRedirect(\"./Login.zul\")", Timer.COMPONENT_SCOPE); 

     timer.start(); 
} 

,但没有发生.. :(

有人能帮助我吗?

也许我必须创建Java脚本方法或类似的东西? IAM仍在试图找到答案,我已经阅读ZK文档,但没有任何东西可以帮助..

感谢您的关注和我的英语不好对不起:d

回答

4

你可以试试下面的例子中,

<timer id="timer" delay="1000" repeats="false" 
    onTimer='Executions.sendRedirect("./Login.zul")' /> 
+1

我想你r回答是最好的,iam错误地使用“”而不是“',谢谢你的回答..:D – fahmi 2011-06-03 04:14:30

0

onTimer

是一个事件不是属性[1]。你应该在你的Timer组件上使用addEventListener()[2]来添加一个实际的sendRedirect方法。例如。在OTPController你可以做

<!-- language: lang-js --> 
timer.addEventListener(Events.ON_TIMER, new EventListener() { 
     public void onEvent(Event evt) { 
      Executions.sendRedirect("./Login.zul"); //refer [3] 
    } 
}); 

[1] http://books.zkoss.org/wiki/ZK_Component_Reference/Essential_Components/Timer#Supported_Events [2] http://books.zkoss.org/wiki/ZK_Developer 's_Reference/Event_Handling/Event_Listening#Event_Listener [3] http://books.zkoss.org/wiki/ZK_Developer' s_Reference/UI_Patterns/Forward_and_Redirect#Redirect_to_Another_URL

+1

非常感谢,它的工作:d – fahmi 2011-06-02 04:11:25