2017-03-16 9 views
0

ここで私はデータベースからデータを取得し、それらのデータを別のArrayListsに入れます。私はこの「李」、「LI1」、「LI2」、 'LI3を渡す必要がありメソッドから複数の変数を返す方法は?

package ConnectionPack; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.Connection; 
import java.util.ArrayList; 

import com.mysql.jdbc.Statement; 

public class DBConnection { 
    String DB_URL="jdbc:mysql://localhost:3306/bbc"; 
    String DB_Username="root"; 
    String DB_Password=""; 
    String sql ="select * from news"; 
    Connection con = null; 


ArrayList<String> para=new ArrayList<String>(); 
ArrayList<String> link=new ArrayList<String>(); 
ArrayList<Integer> image=new ArrayList<Integer>(); 

public ArrayList data(){ 
    ArrayList<String> li=new ArrayList<String>(); 
    ArrayList<String> li1=new ArrayList<String>(); 
    ArrayList<String> li2=new ArrayList<String>(); 
    ArrayList<Integer> li3=new ArrayList<Integer>(); 
    try{ 
     Class.forName("com.mysql.jdbc.Driver"); 
     con = DriverManager.getConnection(DB_URL,DB_Username,DB_Password); 
     Statement statement = (Statement) con.createStatement(); 
     ResultSet resultset = statement.executeQuery(sql); 

     while(resultset.next()){ 
      String headdata = resultset.getString("Title"); 
      li.add(headdata); 

      String paradata = resultset.getString("Description"); 
      li1.add(paradata); 

      String linkdata = resultset.getString("Link"); 
      li2.add(linkdata); 

      int imagedata = resultset.getInt("id"); 
      li3.add(imagedata); 
     } 
    }catch(Exception e){ 
     e.printStackTrace(); 
    } 
    return li; 
} 
    //close the connection 

} 

、これは私のコードで、page.HowをJSPにすべてのそれらの配列リストを渡す必要があり、私は複数のArrayListを渡すことができます'JSPページに、どうすればいいのですか?

+1

あなたが受けなければならないものは、多くのオブジェクトを持つリストです。たくさんのリスト – Jens

+4

ArrayListのArrayList、ArrayListの配列、ArrayListsのCollection、リストを含む独自のデータオブジェクトクラスを使用することができます。または、渡すものを実際にモデル化するデータ構造を作成しようとしないでください:タイトル、説明、リンク、およびIDを含むクラスを作成し、それらのオブジェクトのリストを渡します。 –

+1

@OHGODSPIDERSがそれにスポットを当てました。データ構造を作成するのが最善の方法です。これにより、将来コードを見直す可能性がある他の人にとってコードの意図がはるかに明確になります。また、コード生成の際の処理も簡単になります – CraigR8806

答えて

1

ニュースのリストを返す必要があると私には思われます。 News(タイトル、IDなどを含む)というクラスを定義し、List<News>を返します。

これは、文字列のリストを返す(ある種の)安全性を強制することに注意してください。さらに進んで、NewsList(それ自体はList<News>を含み、それ以上の繰り返しが可能です。何か他の機能が必要なのでしょうか?)

このようなオブジェクトを作成することを恥ずかしがります。彼らはあなたに型の安全性と動作と内容をカプセル化する能力を与えます。

関連する問題