JSP数组赋值问题

<%while(rs2.next()){count++;}Stringgrade5name[]=newString[count];floatmark[]=newfloat... <%
while(rs2.next())
{
count++;
}
String grade5name[]=new String[count];
float mark[]=new float[count];
while(rs2.next())
{
grade5name[i]=rs2.getString("grade5name");
mark[i]=rs2.getFloat("mark");
i++;
}
for(int s=0;s < count;s++)
{
%>
<tr>
<td width="21"><input type="radio" name="mark" value="<%=mark[s]%>" /></td>
<td width="909"><%=grade5name[s]%></td>
</tr>
<%
}
%>

请大家帮我看下吧,这段是关键代码,数组好像没有赋值成功,我是想从数据库读取数据,存到数组里,然后再将数组里的值放进单选按钮的VALUE里
展开
 我来答
lalalove_yaya
推荐于2016-02-14 · TA获得超过3149个赞
知道大有可为答主
回答量:1143
采纳率:50%
帮助的人:1016万
展开全部
while(rs2.next())
{
count++;
}
String grade5name[]=new String[count];
float mark[]=new float[count];
while(rs2.next())
{
grade5name[i]=rs2.getString("grade5name");
mark[i]=rs2.getFloat("mark");
i++;
}

自己看一下这段代码,有两个rs.next()的判断循环遍历。
第一个while(rs2.next()),循环之所以会结束,跳出,是因为rs已经遍历完了,这个时候, rs里面的指针是指向最后一条记录的后面的,所以,在第二个while(rs2.next())的时候,rs2.next()肯定是false了,当然不会再执行第二个循环。因为第二个循环不可能会执行,所以,永远都不会得到相应的数据的呀。如果你想要第二次遍历,那必须在第二个while循环之前再查询一次才可以。
再有,不知道你为什么非要用数组,其实,用一个循环就够了,不要用数组,用集合会好一些。
<%
List<String> gradeNameList = new ArrayList<String>();
List<Float> markList = new ArrayList<String>();
while(rs2.next())
{
gradeNameList.add(rs2.getString("grade5name"));
markList.add(rs2.getFloat("mark"));
}
for(int s=0;s < markList.size();s++)
{
%>
<tr>
<td width="21"><input type="radio" name="mark" value="<%=markList.get(s) %>" /></td>
<td width="909"><%=gradeNameList.get[s] %></td>
</tr>
<%
}
%>

不知道上述代码能不能帮到你。有问题可以叫我。。。咱们一起研究。。。

:)
千锋教育
2015-12-13 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
jsp中数组赋值例子:
可用JQuery实现在页面修改表数据

JSP传数组:
var names = new Array("aa","bb","cc","dd");
location.href = "b.jsp?names=" + names;

a.jsp页面取值:
<%
String names = request.getParameter("names");
%>
<input type="text" id="names" value="<%=names%>">
<input type="button" onclick="javascript:fun();" value="显示">
function fun(){
var temp= document.getElementById("names").value;
var names = temp.split(",");
for(var i=0; i<names.length;i++){
alert(names[i]);
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
SYW13511
2010-05-12 · 超过30用户采纳过TA的回答
知道答主
回答量:123
采纳率:0%
帮助的人:0
展开全部
为什么用数组啊 直接rs2.getString();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式