try{ ResultSet RS = dbbean.executeQuery("select * from l_zhangjia");
while (RS.next())
%>
<tr>
<td align=middle bgcolor=#f4faed width="3%" height="37">
<div align="center"><%=RS.getInt("id")%></div>
</td>
<td align=middle bgcolor=#f4faed width="19%" height="37">
<div align="center"><%=RS.getInt("datetime")%></div>
</td>
<%
}
~~~请问,它对应的括号在哪里?
/////////////////////////////////////////////////////////////////////////////////////////////// RS.close();
dbbean.close();
}catch(Exception e){
out.println("无法打开");
}
while (RS.next())
%>
<tr>
<td align=middle bgcolor=#f4faed width="3%" height="37">
<div align="center"><%=RS.getInt("id")%></div>
</td>
<td align=middle bgcolor=#f4faed width="19%" height="37">
<div align="center"><%=RS.getInt("datetime")%></div>
</td>
<%
}
~~~请问,它对应的括号在哪里?
/////////////////////////////////////////////////////////////////////////////////////////////// RS.close();
dbbean.close();
}catch(Exception e){
out.println("无法打开");
}
}<-----------------你的括号是不配对的,能编译就已经错了,怎么还能运行,
哈哈...,你倒还能运行,真强! RS.close();
dbbean.close();
后面掉了{还有你的字段类型是不是都是int?如果不是,可以用getString来取
try{
ResultSet RS = dbbean.executeQuery("select * from l_zhangjia");
while (RS.next()){
%>
<tr>
<td align=middle bgcolor=#f4faed width="3%" height="37">
<div align="center"><%=RS.getInt("id")%></div>
</td>
<td align=middle bgcolor=#f4faed width="19%" height="37">
<div align="center"><%=RS.getInt("datetime")%></div>
</td>
<%
}
RS.close();
dbbean.close();
}catch(Exception e){out.println("无法打开");}
-----------------------
-----------------------
}你的括号是不配对
RS.close();
dbbean.close();<%=RS.getInt("datetime")%>也不行吧?<%=RS.getDate("datetime")%>
后面少一个"{"
这样你的结果不可预知,
很可能就是相当于执行:
while (RS.next())
out.println("<tr>");看JSP处理的内部机制了。
给你一段一个JSP反编译的结果:
jspfactory = JspFactory.getDefaultFactory();
httpservletresponse.setContentType("text/html;charset=gb2312");
pagecontext = jspfactory.getPageContext(this, httpservletrequest, httpservletresponse, "", true, 8192, true);
javax.servlet.ServletContext servletcontext = pagecontext.getServletContext();
ServletConfig servletconfig = pagecontext.getServletConfig();
javax.servlet.http.HttpSession httpsession = pagecontext.getSession();
jspwriter = pagecontext.getOut();
jspwriter.print(_jspx_html_data[0]);
String s = (String)httpservletrequest.getAttribute("time");
jspwriter.print(_jspx_html_data[1]);
jspwriter.print(httpservletrequest.getContextPath());
jspwriter.print(_jspx_html_data[2]);
jspwriter.print(s);
注意看里面的变量s,JSPWRITER一段一段得输出HTML信息,在必要得地方输出s,
s是一个servlet在request里设置的属性。
页面中在那个地方输出,
所以你的这段代码的可能结果是:
while (RS.next())
out.println(html_data);其中html_data可能是:
<tr>
<td align=middle bgcolor=#f4faed width="3%" height="37">
<div align="center">另外,正如 caina3(阿郎) ( 所指,
不明白你代码少括号居然还能运行。