获取指定list里面的值

七星院长 2009-04-23 01:16:13
public List getObjects(){
List v=new ArrayList();
Statement stmt = null;
ResultSet rs = null;
String sql = "select * from VIEW_RPT_CORP_D
DataConn conn = new DataConn();
try {
stmt = conn.getConn().createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) {
v.add(rs.getString("本期数"));
}
} catch (SQLException e) {
e.printStackTrace();
}
return v;
}
这是代码,现在只是获取一个字段“本期数”,然后添加到list中在在页面中
通过v.get();来获取,该字段,即该列中的指定行的内容。
但是如果在加个字段如"上月数"那么我在我也可以通过 v.add(rs.getString("上月数"));来添加。但是这个就不能用v.get()来获取了,我现在用的方法是又建个跟上面一样的,list变量v1,前台也就用v1.get()来获取。可一旦字段增多那就太麻烦了。所以请高手指教下。
...全文
1350 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
qinggreen 2009-04-23
  • 打赏
  • 举报
回复
2楼说的很对,你定义一个javaBean,里边定义两个字段代表你的本期数,上月数.查询出一条值后,将这两列对应的值放入一个javaBean对象里,然后再将此javaBean放如list里.取出时,先取得对象,然后用get方法,得到里边的值就可以了.
pengpeng409 2009-04-23
  • 打赏
  • 举报
回复
学习一下!用简单的比较好的算法做还是很好的啊!
wang1231 2009-04-23
  • 打赏
  • 举报
回复
进来学习学习!
jiatai416 2009-04-23
  • 打赏
  • 举报
回复
综合2楼和4楼的写法,在页面上用遍历输出这个list就行了
七星院长 2009-04-23
  • 打赏
  • 举报
回复
可我该 怎么获取呢是在jsp页面获取
jiatai416 2009-04-23
  • 打赏
  • 举报
回复
如果要是这个list在页面上用可以2楼的办法解决。
如果这个list不是在页面上用,可以用泛型解决。
xnjnmn 2009-04-23
  • 打赏
  • 举报
回复
开发中一般一张表对应一个javaBean
设置一个VO
public class cardVO{
//字段对应属性
private string qishu;
//其他
private String other;
//List
private String pulbicList;
//扩展
private Object Object;
}

list.add(Object)

//循环
JDK1.5以上
for(Object object:list){
object.get();
}

Object o = (Object)List.get(i)
xu54647265 2009-04-23
  • 打赏
  • 举报
回复
JAVABEAN……
cy_gogo 2009-04-23
  • 打赏
  • 举报
回复
既然你是通过一张表查询出来的,你为什么不把查询的结果封装到一个对象里面 然后再将这个对象放到list里面呢





while (rs.next()) {
Bean bean = new Bean();
bean.setCount(rs.getString("本期数"));
bean.setRCount("上月数");

v.add(bean);
}


frank3G 2009-04-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 defonds 的回复:]
你可以写个javabean,包含“本期数”、“上月数”等属性

Java codewhile (rs.next()) {
String a = rs.getString("本期数");
String b = rs.getString("上月数");
Javabean javabean = new Javabean();
javabean.setA(a);javabean.setB(b);
v.add(javabean);
}



jsp页面遍历得到你想要的javabean,然后提取“本期数”、“上月数”等属性
[/Quote]

同意
caiterry 2009-04-23
  • 打赏
  • 举报
回复
你可以将你要获取的字段建立一个javabean,然后把字段都放在里面,到view层直接对这个javabean操作
例如:
while(rs.next()){
Object bean=new Object();
bean里面的set方法,保存要查询的字段
list.add(bean);
}
request.getAtrribute("beanList",list);

到视图层你直接取出beanList然后将其遍历,转换成bean对象,就可以操作了
jishu_vip 2009-04-23
  • 打赏
  • 举报
回复
你这样做本身就不太好,想这样的一般都是使用Object[]对象数组,或则是Map来封装。



看了一下你的代码,有个折中的方法:


//你的字段很多。。。
Map<String,List> map = new HashMap<String,List>();
map.put("本期数",new ArrayList());
map.put("上期数",new ArrayList());
//。。。。。

while (rs.next()) {
map.get("本期数").add(rs.getString("本期数"));
//。。。。。
}

Defonds 2009-04-23
  • 打赏
  • 举报
回复
你可以写个javabean,包含“本期数”、“上月数”等属性
while (rs.next()) { 
String a = rs.getString("本期数");
String b = rs.getString("上月数");
Javabean javabean = new Javabean();
javabean.setA(a);javabean.setB(b);
v.add(javabean);
}


jsp页面遍历得到你想要的javabean,然后提取“本期数”、“上月数”等属性

大海之粟 2009-04-23
  • 打赏
  • 举报
回复
用两个list,一个list是保存一行里面的字段,另外一个list保存记录数.
List column= new ArrayList();
List record= new ArrayList();
column.add(rs.getString("本期数"));
column.add(rs.getString("上月数"));
record.add(column);
然后就可以按顺序取了

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧