Как добавить таймер метода Java для перенаправления в ZK - PullRequest
2 голосов
/ 01 июня 2011

Здравствуйте, разработчик, у меня проблема с установкой метода таймера на ZK, по умолчанию метод на моей странице .zul:

<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 или что-то в этом роде? Я все еще пытаюсь найти ответ, я прочитал Документы ZK, но ничто не может помочь ..

Спасибо за ваше внимание и извините за мой плохой английский: D

Ответы [ 2 ]

4 голосов
/ 02 июня 2011

Вы можете попробовать следующий пример,

<timer id="timer" delay="1000" repeats="false"
    onTimer='Executions.sendRedirect("./Login.zul")' />
0 голосов
/ 02 июня 2011

onTimer

- это событие, а не атрибут [1].Вы должны использовать addEventListener () [2] в вашем компоненте Timer, чтобы добавить метод, который выполняет фактический 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

...