问题描述
I Craet arraylist
ArrayList<Object[]> custInfo = new ArrayList<Object[]>();
while(rs.next()){
String loginId = rs.getString("LOGIN_ID");
String customerId = rs.getString("CUSTOMER_ID") ;
String requestDate = rs.getString("REQUEST_DATE") ;
String updateUser = rs.getString("UPDATE_USER") ;
Object[] custInfo123 = {loginId,customerId,requestDate,updateUser };
custInfo.add(custInfo123);
}
session.setAttribute("custInfo",custInfo);
现在,我在另一个jsp中使用arraylist
ArrayList<String> custInfo = (ArrayList<String>)session.getAttribute("custInfo");
现在我想从该数组列表中获取数据,但是我不知道该怎么做。
我想要像 customer1-loginid,customerid,requestdate,updateuser customer2- loginid,customerid,requestdate,updateuser customer3- loginid,customerid,requestdate,updateuser
我该怎么做。
解决方法
您可以遍历每个对象以找到具有正确属性的对象,但是更好的方法是将行映射器与类型化的对象一起使用,例如客户信息 像这个例子:https://mkyong.com/spring/spring-jdbctemplate-querying-examples/
,如果您想使用特定属性访问它,我宁愿使用带有此属性作为键的HashMap,这样您就只需要迭代具有该字段值的对象或直接返回此键的列表。 / p>
一个更好的解决方案是仅从数据库查询与主题属性匹配的行。
public List<CustomerInformation> findCustomersById(String customerId) {
String sql = "SELECT * FROM CUSTOMER WHERE LOGIN_ID = '" + customerId + "'";
ArrayList<Object[]> custInfo = new ArrayList<Object[]>();
while(rs.next()){
String loginId = rs.getString("LOGIN_ID");
String customerId = rs.getString("CUSTOMER_ID") ;
String requestDate = rs.getString("REQUEST_DATE") ;
String updateUser = rs.getString("UPDATE_USER") ;
Object[] custInfo123 = {loginId,customerId,requestDate,updateUser };
custInfo.add(custInfo123);
}
return custInfo;
}