Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正在检索hashmap中的列表。_Java_List_Jsp_Collections_Hashmap - Fatal编程技术网

Java 正在检索hashmap中的列表。

Java 正在检索hashmap中的列表。,java,list,jsp,collections,hashmap,Java,List,Jsp,Collections,Hashmap,我试图从hashmap中检索列表值,但它正在显示com.action。ReportClass@10da25f. 这里ReportClass是Pojo类,我在其中设置了我的resultset数据 package com.pkg; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import java.util.HashMap

我试图从hashmap中检索列表值,但它正在显示com.action。ReportClass@10da25f. 这里ReportClass是Pojo类,我在其中设置了我的resultset数据

 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";
    }
}
在我的jsp中,我有一个代码

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

</s:iterator>
您直接打印ReportClass对象,它打印该对象的hashcode值。您需要重写类的toString方法以获得对象的有意义的文本表示

我猜您正在使用eclipse。只需在编辑器上单击鼠标右键,然后单击OverrideTostring。在这里,您可以选择要放入表示中的字段

这里有一个例子

包com.compare

public class Person {

    private String firstName;
    private String lastName;
    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    public String getLastName() {
        return lastName;
    }
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    @Override
    public String toString() {
        return "Person [firstName=" + firstName + ", lastName=" + lastName
                + "]";
    }

    public static void main(String [] args){

        Person person = new Person();
        person.setFirstName("Prasad");
        person.setLastName("kharkar");

        System.out.println(person);

    }

}
这将生成以下输出

Person [firstName=Prasad, lastName=kharkar]
您直接打印ReportClass对象,它打印该对象的hashcode值。您需要重写类的toString方法以获得对象的有意义的文本表示

我猜您正在使用eclipse。只需在编辑器上单击鼠标右键,然后单击OverrideTostring。在这里,您可以选择要放入表示中的字段

这里有一个例子

包com.compare

public class Person {

    private String firstName;
    private String lastName;
    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    public String getLastName() {
        return lastName;
    }
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    @Override
    public String toString() {
        return "Person [firstName=" + firstName + ", lastName=" + lastName
                + "]";
    }

    public static void main(String [] args){

        Person person = new Person();
        person.setFirstName("Prasad");
        person.setLastName("kharkar");

        System.out.println(person);

    }

}
这将生成以下输出

Person [firstName=Prasad, lastName=kharkar]

在reportclass中使用此选项

@Override
public String toString() {
    return "orderdate is: " +orderdate+ ", No of order is:  "+dataamount+ ",  Total Order is: "  +count+  ",  Reuslt is:  "+result;
}

}

在reportclass中使用此选项

@Override
public String toString() {
    return "orderdate is: " +orderdate+ ", No of order is:  "+dataamount+ ",  Total Order is: "  +count+  ",  Reuslt is:  "+result;
}

}

你需要重写ReportClass中的toString方法。如果你能给我举个例子,我是新手,你可以用我写的上面的内容进行谷歌搜索,我将不胜感激。搜索重写Java中的toString你需要重写ReportClass中的toString方法。如果你能给我举个例子,我是新手,如果你能用我写的上述内容进行google搜索,我将不胜感激。我很高兴我能提供帮助:你能告诉我如何在我的案例中实现吗。我不知道该怎么做。我很高兴我能帮上忙:你能告诉我在我的案例中该如何实现吗。我不知道该怎么办。