sna*_*ahi 25 java jsf hashmap primefaces
我正在尝试在DataTable中显示Hashmap,这是我正在尝试做的事情:我将有一些产品的选择菜单,数量的输入文本,添加产品的"ajaxified"添加按钮它的数量到地图,以及一个提交按钮,显示一个包含DataTable的摘要对话框,其中包含两列:Product Name和Quantitiy.我的Hashmap是
Map<Product,Integer> myMap = new HashMap<Product,Integer>();
Run Code Online (Sandbox Code Playgroud)
对于ajaxified按钮和所有这些第一步,他们正在为我工作,我已经设置了所有内容,并且地图正确地填充了剩下的所有数据.
提前致谢.
Kus*_*han 40
你像这样创建类:
public class Product{
private int id;
private String productName;
private int quantitiy;
// add getters setters here
}
// add product id to map key
Map<Integer,Product> myMap = new HashMap<Integer,Product>();
public Map<Integer,Product> getProductMap() {
return myMap;
}
public List<Product> getProducts() {
return new ArrayList<Product>(myMap.values()_;
}
Run Code Online (Sandbox Code Playgroud)
将数据表值添加到getProducts()List
否则,产品作为地图键,然后,
Map<Product,Integer> myMap = new HashMap<Product,Integer>();
public List<Map.Entry<Product, Integer>> getProducts() {
Set<Map.Entry<Product, Integer>> productSet =
myMap.entrySet();
return new ArrayList<Map.Entry<Product, Integer>>(productSet);
}
Run Code Online (Sandbox Code Playgroud)
像这样写Primeface页面,
<p:dataTable value="#{productBean.products}" var="productEntry">
<p:column>
<h:outputText value="#{productEntry.key.productName}" />
</p:column>
<p:column>
<h:outputText value="#{productEntry.value}" />
</p:column>
</p:dataTable>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
43548 次 |
| 最近记录: |