jsp页面循环遍历输出结果
publicList<Map<String,Object>>custom(Stringstaff){Connectioncon=null;PreparedStatemen...
public List<Map<String , Object>> custom(String staff){
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
List<Map<String, Object>> list = null;
try{
con = JavaUtil.getInstence().getConnection();
String sql = "select name,linkman,contact,details,address from customer where staff = ?";
ps = con.prepareStatement(sql);
ps.setString(1, staff);
rs = ps.executeQuery();
ResultSetMetaData rsmd = rs.getMetaData();
int count = rsmd.getColumnCount();
String[] colNames = new String[count];
for(int i=0;i<count;i++){
colNames[i] = rsmd.getColumnLabel(i+1);
}
list = new ArrayList<Map<String, Object>>();
while(rs.next()){
Map<String, Object> map = new HashMap<String, Object>();
for (int i = 1; i < colNames.length; i++) {
map.put(colNames[i], rs.getObject(colNames[i]));
}
list.add(map);
}
}catch(Exception e){
e.printStackTrace();
}finally{
JavaUtil.getInstence().free(rs, ps, con);
}
return list;
}
这是从数据库取数据的方法,我想知道jsp页面如何接受到这个结果集,并且循环遍历输出,谢谢,请详细一点
我用的是JavaBean不是servlet好像不能用request和session吧 就是怎么用jstl遍历取出这个方法得到的结果集 展开
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
List<Map<String, Object>> list = null;
try{
con = JavaUtil.getInstence().getConnection();
String sql = "select name,linkman,contact,details,address from customer where staff = ?";
ps = con.prepareStatement(sql);
ps.setString(1, staff);
rs = ps.executeQuery();
ResultSetMetaData rsmd = rs.getMetaData();
int count = rsmd.getColumnCount();
String[] colNames = new String[count];
for(int i=0;i<count;i++){
colNames[i] = rsmd.getColumnLabel(i+1);
}
list = new ArrayList<Map<String, Object>>();
while(rs.next()){
Map<String, Object> map = new HashMap<String, Object>();
for (int i = 1; i < colNames.length; i++) {
map.put(colNames[i], rs.getObject(colNames[i]));
}
list.add(map);
}
}catch(Exception e){
e.printStackTrace();
}finally{
JavaUtil.getInstence().free(rs, ps, con);
}
return list;
}
这是从数据库取数据的方法,我想知道jsp页面如何接受到这个结果集,并且循环遍历输出,谢谢,请详细一点
我用的是JavaBean不是servlet好像不能用request和session吧 就是怎么用jstl遍历取出这个方法得到的结果集 展开
5个回答
展开全部
因为楼主给的代码不全,我只能用假设了.
假设楼主已经有了一个对数据库操作的类Dao,并包含了你上面写的custom方法,而且包为(com.test.Dao).那好,我们进行操作:
<%@page import="com.test.Dao"%>//导入包
<%
Dao dao = new Dao();
List result = dao.custom();//获得用户信息
Iterator<Map<String , Object>> iterator = result .iterator();//迭代器
while(iterator.hasNext()){
Map<String , Object> map = iterator.next();
Set<Entry<String , Object>> entrySet = map.entrySet();
Iterator<Entry<String , Object>> entryItra = set.iterator();
while(entryItra.hasNext()){
Entry<String , Object> entry = entryItra.next();
Student stu= (Student)entry.getKey();//获取数据库存储的对象,我不知道你存了什么对象,所以就统称为Student吧.
//后面的代码就是你要对改对象的操作了.比如String name = stu.getName();
}
}
%>
假设楼主已经有了一个对数据库操作的类Dao,并包含了你上面写的custom方法,而且包为(com.test.Dao).那好,我们进行操作:
<%@page import="com.test.Dao"%>//导入包
<%
Dao dao = new Dao();
List result = dao.custom();//获得用户信息
Iterator<Map<String , Object>> iterator = result .iterator();//迭代器
while(iterator.hasNext()){
Map<String , Object> map = iterator.next();
Set<Entry<String , Object>> entrySet = map.entrySet();
Iterator<Entry<String , Object>> entryItra = set.iterator();
while(entryItra.hasNext()){
Entry<String , Object> entry = entryItra.next();
Student stu= (Student)entry.getKey();//获取数据库存储的对象,我不知道你存了什么对象,所以就统称为Student吧.
//后面的代码就是你要对改对象的操作了.比如String name = stu.getName();
}
}
%>
展开全部
1、后台获得结果集list,将list封装到request.setAttribute("list",list);
2、前台JSP页面获取list,循环取出结果集的map,再循环map对象,取出最终的字段值
<%
ArrayList list =(ArrayList)request.getAttribute("list",list);
for(....){
....
}
%>
2、前台JSP页面获取list,循环取出结果集的map,再循环map对象,取出最终的字段值
<%
ArrayList list =(ArrayList)request.getAttribute("list",list);
for(....){
....
}
%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首页,不没有把list 中的数据存入到一个抽象对象中,所以在JSP页面也只能取出一个一个的数组,而没有相应的一个一个的数据!,你需要把每一次取出的数据存在一个对象中,一一对应!
在JSP页面,
<%
实例化这个类,
并 定义 一个对象
让对象取数组的各个对应关系!
就可以了!
%>
在JSP页面,
<%
实例化这个类,
并 定义 一个对象
让对象取数组的各个对应关系!
就可以了!
%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
javaBean 只是一个概念
request,response,session,application,等九大JSP对象 这些都可以用
request,response,session,application,等九大JSP对象 这些都可以用
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<%
List list = YourClass.custom(staff);
for(list){
sysout(list(i))
}
%>
List list = YourClass.custom(staff);
for(list){
sysout(list(i))
}
%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询