简体   繁体   中英

how to get a list of values?

Below is the code which i want to get the output of the names of the particular administrator number , administrator Emailid , but insted of that i am getting the output as : List of ---> com.demo.model.Administrator@91e143 with different numbers , basically i am new to java .Would you please help me in the Loop Iteration .

package com.demo.action;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import com.demo.model.Administrator;

import com.demo.model.AdministratorDAO;
import com.demo.model.AdministratorDemo;
import com.demo.model.JQueryDataTableParam;
import com.demo.model.JqueryDatatablesParamUtil;

public class AdministratorAction extends Action {

    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        System.out.println("in execute..");
        JQueryDataTableParam param = JqueryDatatablesParamUtil
                .getParam(request);


        String txt2=request.getParameter("txt1");
        //String select2=request.getParameter("select1");
        //request.setAttribute("e", "select2");

        //String select3=request.getParameter("select2");

        //System.out.println("txtValue->"+e);
        //System.out.println("txtValue->"+select2);
        System.out.println("txtValue->"+txt2);
        //String var = Administrator.isValidname(sData);
        String sEcho = param.sEcho;
        int iTotalRecords;
        int iTotalDisplayRecords;
        int start = param.iDisplayStart;
        System.out.println("start" + start);
        int last = param.iDisplayLength +param.iDisplayStart;
        System.out.println("last" + last);
        int sortColumnIndex = param.iSortColumnIndex;
        System.out.println("sortColumnIndex" + sortColumnIndex);
        String sortDirection = param.sSortDirection;
        System.out.println("sortDirection" + sortDirection);

        JSONArray data = new JSONArray();
        iTotalRecords = AdministratorDemo.getAdminCount();
        List<Administrator> Administrators = new LinkedList<Administrator>();
        for (Administrator a : AdministratorDemo.getAdimistrators()) {
            if (a.getAdministrator_nm() != null
                    && a.getAdministrator_nm().toLowerCase()
                            .contains(param.sSearch.toLowerCase())

                    || a.getAdmin_Email_ID() != null
                    && a.getAdmin_Email_ID().toLowerCase()
                            .contains(param.sSearch.toLowerCase())
                    || a.getAdmin_Fax_Phone_Num_Tx() != null
                    && a.getAdmin_Fax_Phone_Num_Tx().toLowerCase()
                            .contains(param.sSearch.toLowerCase())) {
                Administrators.add(a);

            }

        }
        iTotalDisplayRecords = iTotalRecords;

    if (Administrators.size() < param.iDisplayStart + param.iDisplayLength)

                Administrators = Administrators.subList(param.iDisplayLength,
                        Administrators.size());
            else
                Administrators = Administrators.subList(param.iDisplayStart,
                        param.iDisplayStart + param.iDisplayLength);

        System.out.println("End of the operations");

        try {
            JSONObject jsonresponse = new JSONObject();
            jsonresponse.put("sEcho", sEcho);
            jsonresponse.put("iTotalRecords", iTotalRecords);
            jsonresponse.put("iTotalDisplayRecords", iTotalDisplayRecords);
            JSONArray row = new JSONArray();

            for(Iterator<Administrator> i = AdministratorDemo.getAdimistrators().iterator();i.hasNext();)
            {
            System.out.println(i.next());
            }
            jsonresponse.put("aaData", data);
            response.setContentType("application/json");
            response.getWriter().print(jsonresponse.toString());
        } catch (JSONException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
            response.setContentType("text/html");
            response.getWriter().print(e1.getMessage());
        }


        System.out.println("In execute method.");


        return null;

    }

    public String getXMLObject(HttpServletRequest request) {

        return new java.util.Date().toString()
                + " sent by vasu from Date Action";

    }
}

The result that you are seeing (com.demo.model.Administrator@91e143) is the default string representation of the Administrator object, more specifically, it's what is returned by the default toString() method inherited from Object

To print useful information, override public String toString() of Administrator

You need to override Object#toString() in your Administrator class.

This method can return any meaningful representation of the object you want, eg:

@Override
public String toString() {
    return "id = " + id + "email = " + email;
}

You're making a list of Administrator s, where you want to make a list of String s.
Alternatively (and probably better), if you can change the Administrator class, just implement the toString method in it, that will return the string you want to see on the screen.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM