我的地图是
mountPage(“/ page /#{code} /#{name}”,Page.class);
但是当我点击链接时
localhost/page/10/toy?2
localhost/page/10/toy?3
为什么呢?
答案 0 :(得分:6)
这是因为您的页面是有状态的,Wicket通过附加此“计数器”来管理自己的页面状态。这样,当您的用户使用其浏览器内置功能向后导航时,将显示之前已显示的页面。
如果您不想在网址中使用此类参数,则需要挖掘并根除网页中的每个有状态组件。
答案 1 :(得分: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);
}
}
}
和Application类的地图页面一样
mount(new MountedMapperWithoutPageComponentInfo("/page/#{code}/#{name}", Page.class));