sql bean中的,它的记录为一条时,可是结果输出三个,因为我的bean这个地方有bug.下面是原代码,请帮忙解决。当sql中的结果只有三个值:DD,LM,MA,STOCKM.用户的权限列表
DD DD DD
LM LM LM
MA MA MA
STOCKM STOCKM STOCKM
它输出的结果如上,因为我用了三条这样语句
out.println("<td width='200'>"+rs.getString("role_name")+"</td>");
所以每行三个值相等。
程序的一段原代码:
int first = 1;
while (rs.next()) {
System.out.println("first:" + first);
out.println("<tr>");
System.out.println("function1");
out.println("<td width='25'><input type=checkbox name=roles value=" + rs.getString("role_name") + (first++ == 1 ? " checked" : "") + "></td>");
System.out.println("function2");
out.println("<td width='200'>"+rs.getString("role_name")+"</td>");
System.out.println("function3");
out.println("<td width='25'><input type=checkbox name=roles value=" + rs.getString("role_name") + (first++ == 1 ? " checked" : "") + "></td>");
System.out.println("function4");
out.println("<td width='200'>"+rs.getString("role_name")+"</td>");
System.out.println("function5");
out.println("<td width='25'><input type=checkbox name=roles value=" + rs.getString("role_name") + (first++ == 1 ? " checked" : "") + "></td>");
System.out.println("function6");
out.println("<td width='200'>"+rs.getString("role_name")+"</td>");
out.println("</tr>");
System.out.println("end of function"); }
但我要求的显示结果是:
用户的权限列表
DD LM MA
STOCKM
DD DD DD
LM LM LM
MA MA MA
STOCKM STOCKM STOCKM
它输出的结果如上,因为我用了三条这样语句
out.println("<td width='200'>"+rs.getString("role_name")+"</td>");
所以每行三个值相等。
程序的一段原代码:
int first = 1;
while (rs.next()) {
System.out.println("first:" + first);
out.println("<tr>");
System.out.println("function1");
out.println("<td width='25'><input type=checkbox name=roles value=" + rs.getString("role_name") + (first++ == 1 ? " checked" : "") + "></td>");
System.out.println("function2");
out.println("<td width='200'>"+rs.getString("role_name")+"</td>");
System.out.println("function3");
out.println("<td width='25'><input type=checkbox name=roles value=" + rs.getString("role_name") + (first++ == 1 ? " checked" : "") + "></td>");
System.out.println("function4");
out.println("<td width='200'>"+rs.getString("role_name")+"</td>");
System.out.println("function5");
out.println("<td width='25'><input type=checkbox name=roles value=" + rs.getString("role_name") + (first++ == 1 ? " checked" : "") + "></td>");
System.out.println("function6");
out.println("<td width='200'>"+rs.getString("role_name")+"</td>");
out.println("</tr>");
System.out.println("end of function"); }
但我要求的显示结果是:
用户的权限列表
DD LM MA
STOCKM
解决方案 »
- Java有什么方法得到操作系统的位数(64bit或者32bit)吗?
- 用2个线程计算1-200的值,本人是java初学者,高手指教下!!!急呀!谢谢!!
- 重复划线问题
- 初入IT职场,我该怎么学?
- 不知道这本书如何,请大家指教?附一个关于JAVA初学者经常问的的问题
- 经过这几天的观察,我觉得一个midlet里应该有如下这么几个线程,它和application是不一样的
- 这是什么错误?
- 二进制和字符的相互转换
- 我的JAR文件默认打开方式为REALPLAY
- 如何配置tomcat4.0
- 遇到一个新职位,软件测试,而我对这它一点都不了解,请大家提提意见!
- Stateless会话bean编译的错误。详情见内。谢谢。
int j=0;
System.out.println("<tr>");
while(rs.next()){
j++;
out.println("<td width='25'><input type=checkbox name=roles value=" + rs.getString("role_name") + " checked" + "></td>");
out.println("<td width='200'>"+ rs.getString("role_name") +"</td>");
if ((j % 3)==0){
System.out.println("</tr>");
System.out.println("<tr>");
}
i++;
}
System.out.println("</tr>