DataTableにハッシュマップを表示しようとしていますが、ここでやろうとしていることは次のとおりです。その量をマップに追加し、[製品名]と[数量]の2つの列を持つDataTableを含む要約ダイアログを表示する送信ボタン。私のハッシュマップは
Map<Product,Integer> myMap = new HashMap<Product,Integer>();
ajax化されたボタンとそれらのすべての最初のステップについては、彼らは私のために働いています。
前もって感謝します。
次のようにクラスを作成します。
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()_;
}
GetProducts()リストにデータテーブル値を追加します
それ以外の場合は、マップキーとしての製品、
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);
}
プライムフェイスページをこのように書いて、
<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>