有人知道如何在Wicket中動態添加鏈接地址?Wicket:如何在運行時添加鏈接地址
1
A
回答
3
ExternalLink
需要提供鏈接URL的模型參數。這個模型幾乎可以做任何事情。這裏有一個生成隨機鏈接(LoadableDetachableModel
是一個方便的實現動態模型):
IModel<String> model=new LoadableDetachableModel<String>() {
private static final long serialVersionUID = 1L;
@Override
protected String load() {
// this class does not really exist
return LinkRandomizer.getNewRandomUrl();
}
};
add(new ExternalLink("link", model));
參見:
- Working with Wicket Models
- Using Wicket Labels and Links
- ExternalLink API docs
- LoadableDetachableModel API docs
事實證明,OP需要ListView
與ExternalLink
s。
這裏是一個鏈接列表面板:
public class FooPanel extends Panel {
private static final long serialVersionUID = 1L;
public static class LinkBean{
private String link;
private String label;
public LinkBean(final String link, final String label) {
this.link = link;
this.label = label;
}
public String getLabel() {
return this.label;
}
public String getLink() {
return this.link;
}
public void setLabel(final String label) {
this.label = label;
}
public void setLink(final String link) {
this.link = link;
}
}
public FooPanel(final String id) {
super(id);
this.add(new ListView<LinkBean>("item",
Arrays.asList(
new LinkBean("http://www.google.com/","Google"),
new LinkBean("http://www.ebay.com/", "Ebay"))
) {
private static final long serialVersionUID = 1L;
@Override
protected void populateItem(final ListItem<LinkBean> item) {
item.add(new ExternalLink("link", item.getModelObject().getLink())
.add(new Label("label",item.getModelObject().getLabel()))
);
}
});
}
}
這裏是相關的HTML:
<html><head></head><body>
<wicket:panel>
<div class="linkItem" wicket:id="item">
<a href="" wicket:id="link" >
<wicket:container wicket:id="label" />
</a>
</div>
</wicket:panel>
</body></html>
輸出將是這樣的:
<div class="linkItem"><a href="http://www.google.com/">Google</a></div>
<div class="linkItem"><a href="http://www.ebay.com/">Ebay</a></div>
見
- ListView and other repeaters(一 古教程,請注意:此 涉及舊的非通用 版本1.3.x中的ListView)
- Wicket Examples: Repeater Views (ListView控件不是蓋的,但 處理是相當一致)
- ListView Api docs
- Wicket in Action(A很好 本書檢票,你應該考慮購買)
相關問題
- 1. 如何在HTML中的Wicket鏈接上添加參數?
- 2. 添加到wicket中的表的鏈接
- 3. 如何添加靜態鏈接運行時程序集?
- 4. Java如何在運行時鏈接庫
- 5. 如何將地址添加到地址?
- 6. 如何在地圖上點擊鏈接地址獲取地址?
- 7. Wicket中較短的鏈接網址
- 8. 如何添加圖片地圖鏈接?
- 9. 如何在「郵寄地址」體鏈接
- 10. 如何在asp.net中動態地添加超鏈接到GridView行
- 11. 如何在站點地圖中添加鏈接時設置鏈接文本?
- 12. 如何在鏈接時指定節的基地址,或者鏈接後如何指定節的基地址?
- 13. 添加鏈路本地地址
- 14. 加載時鏈接期間的符號地址與Linux中的運行時鏈接
- 15. 如何通過本地鏈接地址獲得遠程全局鏈接地址?
- 16. 添加OCMock到Xcode將不會鏈接在運行時
- 17. 嗯...「添加爲鏈接」ed圖像不顯示在運行時
- 18. Wicket - 運行時間類重新加載
- 19. Wicket 1.5 - 如何配置鏈接生成的網址?
- 20. 如何在運行時添加UIButton
- 21. 如何添加代碼在運行時
- 22. 如何在運行時添加ManyToManyField?
- 23. 如何在運行時添加新列?
- 24. 如何在運行時添加TextView?
- 25. 如何查找IP地址是否是鏈接本地地址
- 26. 運行時WCF基地址
- 27. 地址:類鏈接
- 28. 如何在AlertBox中添加網址作爲鏈接?
- 29. 如何在Django的網站主頁上添加鏈接/網址?
- 30. 在添加動態元內容時使用SWF地址深度鏈接
最遠的T在Wicket中彈奏非常動態。我想也許我們需要更多的背景。在想要添加內容的位置顯示一些代碼,並提供一些想要添加的內容的信息。 – 2010-09-04 02:43:35