2011-06-01 26 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