0

Struts2 で LinkedHashMap を返す関数がありますが、struts2 では for ループを使用できないことを知りました。代わりに Iterators を使用する必要があり、struts は初めてです。

イテレータを使用してlinkedhashmapから値を取得するのを手伝ってくれる人はいますか?

 LinkedHashMap<String, ArrayList<String>> topSuppliers = new LinkedHashMap<String, ArrayList<String>>();

    while(resultset.next()){

    ArrayList<String> innerList = new ArrayList<String>();

    String manufId = resultset.getString("manufacturer_id");
    String manufLogo = resultset.getString("SUPPLIER_LOGO_IMAGE");
    String manufName = resultset.getString("MANUFACTURER_NAME");
    String manufURL = resultset.getString("MANUFACTURER_URL");

     innerList.add(manufId);
     innerList.add(manufLogo);
     innerList.add(manufName);
     innerList.add(manufURL);

     topSuppliers.put(manufName,innerList);
    }
return topSuppliers;

そして、それらを4つのメーカーのセットで表示したい:

Set1:  1,2,3,4
Set2:  5,6,7,8
Set3:  9,10,11,12
etc......

ありがとうございました........

4

2 に答える 2

1

List of Map代わりに反復する必要がありますMap of List


@Getter
private List<Map> listOfMap = Lists.newArrayList();

public String execute() {

    while (resultset.next()) {
        final Map<String, String> map = Maps.newHashMap();

        map.put("manufId", resultset.getString("manufacturer_id"));
        map.put("manufLogo", resultset.getString("SUPPLIER_LOGO_IMAGE"));
        map.put("manufName", resultset.getString("MANUFACTURER_NAME"));
        map.put("manufURL", resultset.getString("MANUFACTURER_URL"));

        listOfMap.add(map);
    }

    return SUCCESS;
}

<s:iterator value="listOfMap">
  ${manufId}
  ${manufLogo}
  ${manufName}
  ${manufURL}
</s:iterator>

Struts2 JasperReports Plugin のとしてlistOfMapも使用できます。dataSource

于 2011-05-31T08:04:51.697 に答える