本帖最后由 nullbertauhala 于 2010-01-10 14:58:36 编辑

解决方案 »

  1.   

    一般都是放在单独的java 类中的,因为用jsp做数据库链接对话效率太低,而且代码复杂。还有jdbc里有其他对类对查询出的数据进行处理,比用Vector简单多了。
      

  2.   

    应该在单独的javabean里,把结果封装成对象或集合,在jsp页面用标签显示出来
      

  3.   

    你应该知道JSP其实也是JAVA只是表现形式上不一样。
    上面两个区别:result.addElement(myResult.getString(3));放在向量里
    <td><%=myResult.getString(1)%></td> 
      <td><%=myResult.getString(2)%></td> 
      <td><%=myResult.getString(3)%></td> 
      <td><%=myResult.getString(4) %></td> 
      <td><%=myResult.getString(5) %></td> 直接显示了。
    哪个好不用我说,显然是第一个:你想通知你前面那位,直接叫名字就行了,如果你想通知前面相隔100个人的人,直接叫名字?还是叫别人帮你传话?
    关于资源占用,你还是不要想这些无谓的东西。
      

  4.   

    单独放在Java类中比较好,我们开始学习的时候,老师就要求我们,在jsp里面要尽可能少的用java原代码,在一个界面里有太多的java代码,不说其他的,在可读性方面就差了很多
      

  5.   

    但是我还是不知道好在哪些地方,并且我感觉好象还麻烦些:
    在JAVA类中要循环读取到VECTOR中,然后页面中又要循环读出,最后可能象下面这个样子:while(myResult.next()){
              result.addElement(myResult.getString("col_1"));
              result.addElement(myResult.getString("col_2"));
              result.addElement(myResult.getString("col_3"));
              result.addElement(myResult.getString("col_4"));
              result.addElement(myResult.getString("col_5"));
                 }然后页面调用的时候再循环读出:<html>
    <body>
    <jsp:useBean id="smt" scope="request" class="ymbean.opDb"/>
    </bean>


    <%@ page import="java.util.Vector" %>
    <% Vector aResult=smt.getResult();%>
     
    <% for(i=0;i<row_length;i++) { 
       for(j=0;j<col_length;j++) {%> 
    <tr>
      <td><%=aResult.elementAt(i*col_length+j)%></td>   
    </tr> 
    <% }
       } %>