JSP想将从数据库取出的记录的各列进行相同的处理,可以用循环么?列名无规律

如果一个表有很多字段(列),比如几十个吧,如果想对每列进行相同的处理,每次都把基本相同的代码(仅列名参数不同)写几十次,太麻烦而不和谐了。如想把它们显示在表中,光<td>... 如果一个表有很多字段(列),比如几十个吧,如果想对每列进行相同的处理,每次都把基本相同的代码(仅列名参数不同)写几十次,太麻烦而不和谐了。
如想把它们显示在表中,光
<td><%=rs.getXXX("列名1")%></td>模样的语句就得写几十个。
列名又毫无规律。
请问有没有什么方法能得到每列的索引号,使查找列不用列名而用递增的数字,这样就可以将处理语句写进循环啦。
好吧,有现成的API……
展开
 我来答
狂暎8j
2012-03-31 · TA获得超过723个赞
知道小有建树答主
回答量:313
采纳率:0%
帮助的人:274万
展开全部
数据库列可封装成list,这时候不用激励索引号,然后jsp中利用el表达式和核心标签库core,直接将list遍历出来,遍历时候可以获取索引:
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
。。。。
<body>
<%
List list = new ArrayList();
list.add("test1");
list.add("test2");
request.setAttribute("list",list);
%>
<c:forEach items="${list}" var="dataRecord" varStatus="dataIndex">//遍历list,var代表一个记录
<c:out value="${userStatus.count}"></c:out>//列索引
</c:forEach>
</body>
${dataIndex.count}就是那个索引,表格展示的时候用这个就可以了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zai_yu_zy
2012-03-31
知道答主
回答量:15
采纳率:0%
帮助的人:14.9万
展开全部
如下
/**
* 没有写链接
* 异常捕获
*/
//注意:这里的字段顺序,就是显示时候的顺序
//如果写 select *,那么顺序就是数据库里面的顺序
String sql = "select id,name,sex,age,address from table";
Connection conn = null; //假设这里已经去到链接
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
int columnCount = rs.getMetaData().getColumnCount();
String[] date = new String[columnCount];
List<String[]> list = new ArrayList<String[]>();
while(rs.next()){
for(int i = 0; i < date.length; i++){
date[i] = rs.getString(i+1);
}
list.add(date);
}
//数据库链接关闭
list 里面放的是行,date里面放的是列
在jsp里面写一个双重循环就应该是你要的结果了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
山水及石
2012-03-27 · 超过10用户采纳过TA的回答
知道答主
回答量:18
采纳率:0%
帮助的人:31.8万
展开全部
直接用while(rs.next()),然后不要用列名,直接用rs.getxx(1),具体啥方法不太记得了,不过你写点的时候应该能提示出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5264cfd44
2012-03-27 · TA获得超过159个赞
知道答主
回答量:59
采纳率:100%
帮助的人:44.7万
展开全部
具体方法我记不清了,好像是rs.getMetaData() .getColumnCount(),取得有多少列。然后遍历就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chris_strive
2012-03-27 · TA获得超过350个赞
知道小有建树答主
回答量:658
采纳率:100%
帮助的人:412万
展开全部
rs.get(i),i是索引。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式