谁能解释GWTP中“onBind”,“preparedFromRequest”,“onReveal”,“onReset”之间的行为和区别?

时间:2014-02-27 04:39:51

标签: gwt gwtp

好的,我对GWTP中的“onBind”,“preparedFromRequest”,“onReveal”,“onReset”感到非常困惑。我不知道什么时候&在哪种情况下这些方法被称为。

好的,我得到Page1Presenter.java(tokenName:page1)有以下代码:

@Override
protected void onBind(){
    System.out.println("on bind");
}

@Override
protected void prepareFromRequest(PlaceRequest request){
    System.out.println("prepared from request");
}

@Override
protected void onReveal(){
    System.out.println("on reveal");
}

@Override
protected void onReset(){
    System.out.println("on reset");
}

现在,我在浏览器中打开page1,网址为:abc.com/#page1;param=1,然后打印出来:

on bind
prepared from request
on reveal
on reset

然后,我转到abc.com/#page2&然后按回按钮,现在打印出来:

prepared from request
on reset

然后,改变参数&输入abc.com/#page1;param=2,它会显示:

prepared from request
on reset

然后,我点击其他浏览器标签&点击返回包含网址abc.com/#page1;param=2的标签,然后什么也没发生。我希望onReveal会被调用。

此外,System.out.println();过于简单,因此我们无法看到preparedFromRequest与{}之间的区别。 onReset

如果我们有很多复杂的代码和如果我们将该代码放在preparedFromRequest中,如果放入onReset,它会有不同的行为吗?

&安培;它们在不同浏览器中的行为是否相同?

1 个答案:

答案 0 :(得分:1)