2012-04-16 7 views
-1

以下は、特定の管理者番号、管理者Emailidの名前の出力を取得したいコードですが、その出力を取得しています:List of ---> com.demo.model.Administrator @ 91e143とは異なる番号で、基本的には私はjavaに新しいです。あなたはループの反復で私を助けてください。値のリストを取得するには?

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"; 

    } 
} 

答えて

0

public String toString()をオーバーライドし、有益な情報を印刷します。
Administratorクラスを変更できる場合は、toStringメソッドを実装するだけで、画面に表示する文字列が返されます(おそらく良いでしょう)。

+0

その値をJson配列に配置します。例えば、row.put(i.next())のように、databaleで動作していません。この作業でどうぞよろしいですか? – user1257958

2

あなたが見ている結果([email protected])が管理オブジェクトのデフォルトの文字列表現で、より具体的には、Object

から継承されたデフォルト toString()メソッドによって返されるものです

あなたはStringのリストを作りたいAdministrator秒、のリストを作っているAdministrator

+0

が – user1257958

+0

私はStringに公共の文字列を書き込みをお薦め '公共の文字列のtoString(){リターン「の文字列をすることをAdministratorのこのインスタンスに関する意味のあるデータが含まれています。 } ' – Alex

+0

あなたの投稿を編集し、コメントに入れるのではなく' toString() 'メソッドのサンプルを追加する方が良いでしょう –

2

AdministratorクラスのObject#toString()を上書きする必要があります。

この方法では、例えば、あなたがしたいオブジェクトの任意の意味のある表現を返すことができます:管理者クラスで

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

Json配列に値を配置する方法もあります。たとえば、row.put(i.next())のように、databaleで機能していません。 – user1257958

+0

@ user1257958新しい質問。また、この質問に役立つ回答を受け入れる必要があります。答えの左側にある目盛アイコンを使用してください。 – darrengorman

関連する問題