Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何向listview动态添加Ajax链接_Listview_Wicket 1.6 - Fatal编程技术网

如何向listview动态添加Ajax链接

如何向listview动态添加Ajax链接,listview,wicket-1.6,Listview,Wicket 1.6,因此,如果我有一个listview,其中listview中的每个项目都有一个不同的链接,基于在AjaxLink的onClick中执行的逻辑,我如何为每个链接动态添加wicket:id 例如: item.addOrReplace(new ListView<String> ("listViewID" listViewIDs){ AjaxLink openLinktoPage = new AjaxLink("dynamicAjaxLinkId"){ @Override publ

因此,如果我有一个listview,其中listview中的每个项目都有一个不同的链接,基于在AjaxLink的onClick中执行的逻辑,我如何为每个链接动态添加wicket:id

例如:

item.addOrReplace(new ListView<String> ("listViewID" listViewIDs){
  AjaxLink openLinktoPage = new AjaxLink("dynamicAjaxLinkId"){
    @Override public void onClick(AjaxRequestTarget target){
      String url = generateUrlBasedOnDynamicLinkImplementationNotImportant(listViewIDs.getModelObject());
      useUrlToOpenWindowImplementationNotImportant(url);
    }
  }
}
item.addOrReplace(新的ListView(“listViewID”listViewID){
AjaxLink openLinktoPage=新的AjaxLink(“dynamicAjaxLinkId”){
@重写公共void onClick(AjaxRequestTarget目标){
字符串url=generateUrlBasedOnDynamicLinkImplementationNotImportant(listViewIDs.getModelObject());
useUrlToOpenWindowImplementationNotImportant(url);
}
}
}
像这样标记Html

<tr wicket:id="listViewIDs">
   <td>
       <a href="not important">Some Link Text Here</a>
   </td>
</tr>


看起来我必须在代码中动态生成html并将其附加到html标记中。但不确定如何执行。

无需生成html。这是Wicket中继器的标准用例

item.addOrReplace(new ListView<String> ("listView", listViewIDs) {
  @Override protected void populateItem(final ListItem<String> item) {
     AjaxLink openLinktoPage = new AjaxLink("link"){
       @Override public void onClick(AjaxRequestTarget target){
        // do something that uses item.getModelObject()
        // the name "openLinkToPage" makes me think you may need BookmarkablePageLink instead
       }
     }
     item.add(openLinktoPage);
  }
}
item.addOrReplace(新的ListView(“ListView”,ListViewID){
@覆盖受保护的void populateItem(最终列表项){
AjaxLink openLinktoPage=新的AjaxLink(“链接”){
@重写公共void onClick(AjaxRequestTarget目标){
//执行使用item.getModelObject()的操作
//“openLinkToPage”这个名字让我觉得你可能需要BookmarkablePageLink来代替
}
}
添加项(openLinktoPage);
}
}
以及标记:

<tr wicket:id="listView">
    <td>
        <a wicket:id="link">Some Link Text Here</a>
    </td>
</tr>

这里有一些链接文本

有趣,有趣。我想知道为什么我的链接不起作用。你有错误吗?或者链接不起作用?请定义“不起作用”我的onClick不会触发。在浏览器中检查为链接生成的HTML是什么,并请粘贴
href