3

私の地図は

mountPage("/page/#{コード}/#{名前}", Page.class);

しかし、リンクをクリックすると

localhost/page/10/toy?2

ウィケットは、私が持っているページを更新すると、カウンターのようなパラメーターも1つ追加します

localhost/page/10/toy?3

なぜ?

4

2 に答える 2

6

これは、ページがステートフルであるためです。Wicket は、この「カウンター」を追加することにより、ページに独自の状態を管理します。このように、ユーザーがブラウザの組み込み機能を使用して後方に移動すると、ページは以前と同じように表示されます。

URL にそのようなパラメーターを含めたくない場合は、ページ内のすべてのステートフル コンポーネントを掘り出して根絶する必要があります。

于 2013-04-06T21:40:53.053 に答える
1

作成できます

public class MountedMapperWithoutPageComponentInfo extends MountedMapper {

public MountedMapperWithoutPageComponentInfo(String mountPath, Class<? extends IRequestablePage> pageClass) {
    super(mountPath, pageClass, new PageParametersEncoder());
}

@Override
protected void encodePageComponentInfo(Url url, PageComponentInfo info) {

}

@Override
public Url mapHandler(IRequestHandler requestHandler) {
    if (requestHandler instanceof ListenerInterfaceRequestHandler) {
        return null;
    } else {
        return super.mapHandler(requestHandler);
    }
}

}

このようなアプリケーションクラスのマップページ

mount(new MountedMapperWithoutPageComponentInfo("/page/#{code}/#{name}", Page.class));
于 2014-02-24T08:07:54.677 に答える