如何在Wicket ListView中添加AjaxLink?
我想在如何在Wicket ListView中添加AjaxLink?,listview,hyperlink,wicket,java-ee-6,populate,Listview,Hyperlink,Wicket,Java Ee 6,Populate,我想在ListView中填充AjaxLink,我有如下smth: 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 popul
ListView
中填充AjaxLink
,我有如下smth:
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>
但是我只有一个空页面。这里的标签是空的:
<li wicket:id="your-list-view"><a href="#" wicket:id="label"></a></li>
当我手动在
标记之间放置一些文本时,它就起作用了。但是,当我尝试使用您的第二种方法附加标签时,出现了一个错误:最后一个原因:在[AjaxLink[component id=label]]中找不到id为“linklabel”的组件。
一个括号错误。我将标签添加到列表项中,而不是添加到ajaxlink中。我改变了答案,代码现在应该可以用了。现在我将标签添加到ajaxlink,因为标签位于标记内。
<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>
@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);
}