这里我从数据库获取数据并将这些数据放入不同的ArrayLists中。我需要将所有这些数组列表传递给jsp页面。如何传递多个ArrayLists,这是我的代码,
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
}
我需要通过这个&#39; li&#39;,&#39; li1&#39;,&#39; li2&#39;,&#39; li3&#39;到JSP页面,我该怎么做?
答案 0 :(得分:1)
在我看来,您需要传回新闻列表,例如定义一个名为News
的类(包含您的标题,ID等)并返回List<News>
。
请注意,这会强制某些类型安全,而不是返回(比方说)字符串列表列表。您可以更进一步并返回NewsList
(它本身包含List<News>
并且能够迭代这个 - 或者您需要的任何其他功能 - 可能会渲染吗?)
不要害怕创造这样的物体。它们为您提供类型安全性以及封装行为和内容的能力。