1

I have successfully stored my database values inside the hashmap. How do I display the hashmap values in my jsp page in a dynamically changing table. see my action class below, here marketplace represents Country. for each country there are 4 values which are count, dataamount, result, orderdate.

package com.pkg;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

public class JanuaryAction {
    private String from; // creating variables to access input values.
    private String to; // creating variables to access input values.
    Map abc1 = new HashMap(); // Getting the map objects to store tha values

    public Map getAbc1() { /* Creating the setters and getters */
        return abc1;
    }

    public void setAbc1(Map abc1) {
        this.abc1 = abc1;
    }

    public String getFrom() {
        return from;
    }

    public void setFrom(String from) {
        this.from = from;
    }

    public String getTo() {
        return to;
    }

    public void setTo(String to) {
        this.to = to;
    }

    public Map<String, String> getAbc() {
        return abc;
    }

    public void setAbc(Map<String, String> abc) {
        this.abc = abc;
    }

    Map<String, String> abc = new HashMap<String, String>();

    Map<String, List<ReportClass>> map = new HashMap<String, List<ReportClass>>(); // Using
                                                                                    // Map
                                                                                    // interface
                                                                                    // implementing
                                                                                    // hashmap

    public Map<String, List<ReportClass>> getMap() {
        return map;
    }

    public void setMap(Map<String, List<ReportClass>> map) {
        this.map = map;
    }

    public String execute() throws Exception {

        String fromdate = getFrom();
        System.out.println(fromdate);
        String todate = getTo();
        System.out.println(todate);

        Connection con = GetCon.getCon();
        Statement statement = con.createStatement();

        ResultSet resultset = statement
                .executeQuery("SELECT MarketPlace,OrderDate, ROUND(SUM(Total),2), COUNT(*) , ROUND(ROUND(SUM(Total),2)/ COUNT(*),2) FROM vend_printed WHERE OrderDate >='"
                        + fromdate + "' AND OrderDate <='" + todate + "' GROUP BY OrderDate,MarketPlace");

        while (resultset.next()) {
            String marketplace = resultset.getString(1);// get the first column
                                                        // in marketplace
            String orderdate = resultset.getString(2);// get the second column
                                                        // in orderdate
            Double datamount = resultset.getDouble(3);// get the third column in
                                                        // datamount
            Integer count = resultset.getInt(4);// get the fourth column in
                                                // count
            Double result = resultset.getDouble(5); // get the fifth column in
                                                    // result
            ReportClass a = new ReportClass(); // create an object to access
                                                // pojo class.

            a.setMarketplace(marketplace); // setting the values in pojo class
            a.setOrderdate(orderdate);
            a.setDataamount(datamount);
            a.setCount(count);
            a.setResult(result);

            if (map.get(marketplace) != null) { // if the value in marketplace
                                                // is null then go to else
                                                // statement or go to if
                                                // statement.
                map.get(marketplace).add(a); // using the key add one complete
                                                // row values from a to
                                                // marketplace
            } else {
                List<ReportClass> optionsVO = new ArrayList<ReportClass>(); // create
                                                                            // a
                                                                            // list
                                                                            // optionsVo
                optionsVO.add(a); // store Reportclass values in List.
                map.put(marketplace, optionsVO); // storing it in map.
                /* System.out.println(map.get(marketplace).toString()); */
            }

        }
        Set s = map.entrySet(); // A map entry (key-value pair).creating Set
                                // interface.
        Iterator i = s.iterator();
        while (i.hasNext()) {

            List<ReportClass> tempList = (List<ReportClass>) ((Entry) i.next()).getValue(); // creating
                                                                                            // a
                                                                                            // temporary
                                                                                            // list

            for (ReportClass reportClassObj : tempList) {
                System.out.println(reportClassObj.getMarketplace());// display
                                                                    // values.
                System.out.println(reportClassObj.getDataamount());
                System.out.println(reportClassObj.getOrderdate());
                System.out.println(reportClassObj.getCount());
                System.out.println(reportClassObj.getResult());
            }
        }

        /* System.out.println(map.size()); */
        return "success";
    }
}
6
  • What do you mean by "Dynamically changing table"? What have you tried? Post some of your code. Commented Jun 26, 2013 at 14:27
  • please check i updated. I was successful till i get the values in hashmap then i struggled to take it to the jsp page as it needs dynamically changing table as the data comes in. Commented Jun 26, 2013 at 14:36
  • Format your code dude. Commented Jun 26, 2013 at 14:48
  • Post your jsp code .Try to provide as much as information to make things easier people to answer. Commented Jun 26, 2013 at 15:03
  • since i was not able to figure out how to start.. so I have not written anything in jsp Commented Jun 26, 2013 at 15:05

1 Answer 1

1

Use the below code to retrieve it in jsp.

<s:iterator var="studentEntry" status="stat" value="map.entrySet()">  <br><br><br>
Marketplace Name is: <s:property value="%{#studentEntry.getKey()}"/> <br>
Value: <s:property value="%{#studentEntry.getValue()}"/><br><br><br>

</s:iterator>
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.