我在 html 页面中创建了一个表格。
该表中有两列。
wicket:id = “key_column”
wicket:id = “value_column”
我将显示 map 数据(键和值)。
我是如何解决这个问题的..
TreeMap<String, String> map = new Treemap<~>();
map = getDataFormProvider();
List<String> keyList = new ArrayList<~>();
for (String key : map.keySet()) {
keyList.add(key);
}
DataView<String> dataView = new DataView<~>("displayPanel", new ListDataProvider(keyList)) {
@Override
protected void populateItem(Item item) {
String key = (String) item.getModelObject();
item.add(new Label("key_column", key));
item.add(new Label("value_column", map.get(key)));
}
};
是否有可能直接将map
显示为表格,而无需像上面那样获取keyList
?
最佳答案
不是真的。但是您可以减少传递条目列表的代码:
DataView<Entry<String, String>> dataView = new DataView<~>("displayPanel", new ListDataProvider(new ArrayList<Entry<String, String>(map.entrySet())) {
@Override
protected void populateItem(Item item) {
Entry<String, String> entry = item.getModelObject();
item.add(new Label("key_column", entry.getKey()));
item.add(new Label("value_column", entry.getValue()));
}
});
关于java - 可以在 apache wicket 表 (DataView) 中显示 Map<String, String>,而无需获取键列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17030121/