私はWicketのPagingNavigatorに問題があり、なぜ私はそれを持っているのか分かりません。ここで、私はHTMLファイル内のデータビューPagingNavigatorでURLが生成されないのはなぜですか?
dataView = new DataView("pageableTicketsList", provider){
protected void populateItem(final Item item) {
//Somes codes here
};
navigator = new PagingNavigator("navigator", dataView);
dataView.setItemsPerPage(30);
addOrReplace(dataView);
addOrReplace(navigator);
でPagingNavigatorを使用する事たかったが、私は単に持っている:
<wicket:enclosure child="navigator">
<div class="navigator">
<span wicket:id="navigator" ></span>
</div>
</wicket:enclosure>
私はウェブブラウザでテストし、実際には、私が持っていますページ数は、として示される:
< < < 1 2 3 4 5 6 7 8 9 10> >>
それらのいずれかがクリック可能です。
私は、URLが正しく、このように生成されていないことをFirebugで見た:
<a href="?wicket:interface=:13:mypage:navigator:navigation:0:pageLink:4:ILinkListener::"><span>1</span>
</a>
代わりに、私はちょうど私が何をやっている、私はそれを得ることはありません
<span>1</span>
を抱えています違う ?ここで
は私のプロバイダのコード
public class MyProvider implements IDataProvider {
private List<Ticket> ticketsList;
public MyProvider(TicketService ticketService // and some paramaters){
ticketsList = ticketService.getListBy(//the parameters);
}
public Iterator iterator(int first, int count) {
return ticketsList.subList(first, first + count).iterator();
}
public IModel model(final Object object) {
return new LoadableDetachableModel() {
@Override
protected Object load() {
return (Ticket)object;
}};
}
public int size() {
return ticketsList.size();
}
public void detach() {
}
public List<Ticket> getTicketsList() {
return ticketsList;
}
public void setTicketsList(List<ListTicketsExtranetView> ticketsList) {
this.ticketsList = ticketsList;
}
}
正しい値とnavigator.isEnabled()
リターンを返すsize()
方法真
私の問題が来たところまあ、掘りの一日後、私はついに見つけたです投稿者: 私はWebMarkupContainer
を削除すると、私のページに追加されたWebMarkupContainer
があります。PagingNavigator
はうまくいきます。 2人の間には依存関係はありませんが、WebMarkupContainer
を使用して、チケットのリストが空であるかどうかを示すメッセージを表示します。 WebMarkupContainer
は、PagingNavigator
に影響しますか?
Ajaxを使用していますか?もしそうなら、 'PagingNavigator'をリクエストターゲットに追加しましたか? – gnuf
いいえ、私はAjaxを使用していません – dagofly
WebMarkupContainerについて:コードを見ずには分かりません。もう少し誇りに思うことができますか? – bert