2013-04-06 31 views

回答

6

這是因爲你的頁面是有狀態的,檢票通過附加這個「反」管理自己的狀態到您的網頁。這樣,當您的用戶使用瀏覽器內置的功能性向後導航時,該頁面就會顯示出它以前的位置。

如果你不想在你的URL這樣的參數,你需要挖掘出,並在頁面中消滅每一種狀態組件。

+0

謝謝你,我怎麼能唯一呢? params.add(「link」,components.getModelObject()。getPermalink()); params.add(「code」,code); 鏈接鏈接=新BookmarkablePageLink( 「鏈接」, OrderPage.class,則params); (new Label(「linksel」,「Select」)); components.add(link); 我只需點擊網址和第二頁擴展BasePage的 –

+0

你可以在你的基本頁面定義'getStatelessHint()'返回true幫助檢票。恐怕你需要啓動調試器才能找到哪個組件是有狀態的,以便在你的url中禁止這個組件。 –

+0

啊很好用了很多statefull組件,無論如何感謝 –

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)); 
相關問題