0

ちょっとした質問です。3ページ間にダブルリダイレクトを実装するにはどうすればよいですか?

Es。

    public class A extends BasePage{

    public A() {
        super("A");
        setResponsePage(new B());
    }

}

public class B extends BasePage{

    public B() {
        super("B");
        setResponsePage(new C());
    }

}

Wicketは、ページCにリダイレクトせずに、ページBで停止します。

なぜ私がこれをしなければならないのか聞かないでください。setResponsePageを使用しなくても、可能かどうかを知る必要があるだけです。

ありがとう

4

1 に答える 1

2

Wicketは、最後に実行されたsetResponsePage()を使用してリダイレクトページを決定します。あなたの場合、それはsetResponsePage(new B())であり、setResponsePage(new C())ではありません。確かに、後者はBを構築しながら実行されます。

あなたがするなら

public class A extends BasePage{

    public A() {
        super("A");
        B pageB = new B();
        setResponsePage(pageB);
        pageB.init();
    }

}

public class B extends BasePage{

    public B() {
        super("B");
    }

    public init() {
        setResponsePage(new C());
    }

}

それは機能するはずです、そしてあなたはCへの​​リダイレクトを得るでしょう!

于 2012-06-07T13:10:56.347 に答える