2014-05-19 41 views
1

我想在ListView填充AjaxLink,我有水木清華這樣的:如何在Wicket ListView中添加AjaxLink?

list = Arrays.asList(new String[]{ 
     new String("1-50"), 
     new String("50-100"), 
     new String("100-150"),}); 
listItems = new ListView("your-list-view", list) { 

    @Override 
    protected void populateItem(final ListItem li) { 

     li.add(new AjaxLink("label", li.getModel()){ 

      @Override 
      public void onClick(AjaxRequestTarget target) { 
       System.out.println("AJAX WORKS");  
      } 
     }); 
    } 
}; 

和標記:

<ul> 
    <li wicket:id="your-list-view"><a href="#" wicket:id="label"></a></li> 
</ul> 

但我只是一個空白頁。

回答

2

的<一>標籤下面是空的:

<li wicket:id="your-list-view"><a href="#" wicket:id="label"></a></li> 

沒有文字點擊。添加一些文字:

<li wicket:id="your-list-view"><a href="#" wicket:id="label">Link</a></li> 

或標籤:

<li wicket:id="your-list-view"> 
    <a href="#" wicket:id="label"><span wicket:id="linklabel"></span></a> 
</li> 

與Java

@Override 
protected void populateItem(final ListItem li) { 
    AjaxLink alink = new AjaxLink("label", li.getModel()) { 
     @Override 
     public void onClick(AjaxRequestTarget target) { 
      System.out.println("AJAX WORKS");  
     } 
    }; 
    alink.add(new Label("linklabel", "Yes ajax works!")); 
    li.add(alink); 
} 
+0

當我手動把一些文字標籤'之間',它的工作原理。但是當我嘗試使用附加'label'的第二種方法時,出現錯誤:'最後一個原因:無法在[AjaxLink [Component id = label]]中找到id爲'linklabel'的組件' – BSeitkazin

+0

一個括號錯誤。我將標籤添加到列表項而不是ajaxlink。我改變了我的答案,現在代碼應該可以工作。我現在將標籤添加到ajaxlink,因爲標籤位於< a>標籤內。 – Martin

相關問題