A. Mashida
mashi****@topic*****
2010年 2月 2日 (火) 14:38:20 JST
増田です。 矢野さんの方針通り、Mozilla, Firefox, Safariの場合、 > response.setHeader("Pragma", "no-cache"); > response.setHeader("Cache-Control", "no-cache, max-age=0, must-revalidate, no-store"); とヘッダを加えて、キャッシュを切ることでExpireエラーを回避できました。 すっきりしました。 なお、内部でやっていることは、いただいたソースと同じだと思いますが、 ((WebClientInfo)getRquestCycle().getClientInfo()).getProperties() で、ClientPropertiesのインスタンスを取得し、 isBrowserMozillaFirefox(), isBrowserMozilla(), isBrowserSafari() などのメソッドを使用しました。 また、キャッシュを切ることで、バックボタンで戻った場合、 PageableListViewのページが常に1ページ目にリセットされるように なったので、PageableListViewのonAfterRender()をオーバーライドして、 getCurrentPage()でページ番号を保存し、ページのコンストラクターで、 保存したページ番号をsetCurrentPage()に渡して再現させるようにしました。 PageableListView<hoge> list_view = new PageableListView<hoge>("list", list, MAX_LEN) { ....... @Override protected void populateItem(ListItem<hoge> item) { ....... } ....... @Override protected void onAfterRender() { super.onAfterRender(); page_number = getCurrentPage(); } }; list_view.setCurrentPage(page_number); this.add(list_view); -- /// A. Mashida ( mashi****@topic***** ) ///