私の地図は
mountPage("/page/#{コード}/#{名前}", Page.class);
しかし、リンクをクリックすると
localhost/page/10/toy?2
ウィケットは、私が持っているページを更新すると、カウンターのようなパラメーターも1つ追加します
localhost/page/10/toy?3
なぜ?
私の地図は
mountPage("/page/#{コード}/#{名前}", Page.class);
しかし、リンクをクリックすると
localhost/page/10/toy?2
ウィケットは、私が持っているページを更新すると、カウンターのようなパラメーターも1つ追加します
localhost/page/10/toy?3
なぜ?
これは、ページがステートフルであるためです。Wicket は、この「カウンター」を追加することにより、ページに独自の状態を管理します。このように、ユーザーがブラウザの組み込み機能を使用して後方に移動すると、ページは以前と同じように表示されます。
URL にそのようなパラメーターを含めたくない場合は、ページ内のすべてのステートフル コンポーネントを掘り出して根絶する必要があります。
作成できます
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));