2

開発者の皆さん、こんにちは。ZK で Timer メソッドを設定する際に問題が発生しました。私の .zul ページのデフォルトのメソッドは次のとおりです。

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

しかし、コードはエラーです ((\"./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

4

2 に答える 2

4

次の例を試すことができます。

<timer id="timer" delay="1000" repeats="false"
    onTimer='Executions.sendRedirect("./Login.zul")' />
于 2011-06-02T10:47:33.977 に答える
0

onTimer

属性ではなくイベントです[1]。実際の sendRedirect を実行するメソッドを追加するには、Timer コンポーネントで addEventListener() [2] を使用する必要があります。たとえば。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

于 2011-06-02T01:13:25.260 に答える