在这里,我从数据库获取数据并将这些数据放入不同的 ArrayList 中。我需要将所有这些数组列表传递到 jsp 页面。如何传递多个 ArrayList ,这是我的代码,
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
}
我需要将'li','li1','li2','li3'传递到JSP页面,我该怎么做?
最佳答案
在我看来,您需要传回新闻列表,例如定义一个名为 News
的类(包含您的头衔、ID 等)并返回 List<News>
。
请注意,这会强制返回(例如)字符串列表列表的某种类型安全性。您可以更进一步并返回 NewsList
(它本身包含 List<News>
以及迭代此功能的能力 - 或者您需要的任何其他功能 - 渲染,也许?)
不要羞于创建这样的对象。它们为您提供类型安全以及封装行为和内容的能力。
关于java - 如何从方法返回多个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42833763/