struts做个小练习,遇到如下问题数据表里有这样的数据:部门   姓名        入职时间
A      王大山      2009/01/01
B      张二牛      2009/03/02
A      丁三        2009/01/05
A      赵明亮      2009/05/05
C      黄依依      2009/03/09
B      孙小风      2009/02/01输出到页面的效果如下:部门 |  姓名   |    入职时间
-------------------------------
     | 赵明亮  |   2009/05/05 |
 A   | 丁三    |   2009/01/05 |
     | 王大山  |   2009/01/01 |
-------------------------------
 B   | 张二牛  |   2009/03/02 |
     | 孙小风  |   2009/02/01 |
-------------------------------
 C   | 黄依依  |   2009/03/09 |
-------------------------------各位大大说说咋整,谢谢部门名称按升序排且不重复,部门相同的放一起,时间按降序排

解决方案 »

  1.   

    select 部门,姓名,入职时间 from 表 group by 部门 order by 入职时间 desc;
      

  2.   

    这不是SQL嘛,
    Struts是干什么的,可以用来查询输出数据吗?请指教!
      

  3.   

    lz这个不是sql的问题么~怎么整个struts呢?
    struts主要是用来controler层处理业务逻辑关系的~
      

  4.   

    跟struts没关系的,要么查数据库时,排序好,要么查出来后再排序,然后再传到界面显示
      

  5.   

    Struts 只不过是处理你从数据库中 查询到的数据,并可以按照一定的格式在页面输出,你要从数据库中得到数据还是要用sql语句进行查询
      

  6.   

    就是sql语句的问题和Struts没关系,你用sql按你的要求查出来,一遍历就可以了。
      

  7.   

    可能是我没叙述明白,我主要是想要实现这个页面格式
    把查询到的数据放入LIST,然后iterator输出的时候是
    -------------------------------
    |A    | 赵明亮  |  2009/05/05 |
    -------------------------------
    |A    | 丁三    |  2009/01/05 |
    -------------------------------
    |A    | 王大山  |  2009/01/01 |
    -------------------------------
    如何输出成
    -------------------------------
    |部门 |  姓名   |    入职时间 |
    -------------------------------
    |     | 赵明亮  |  2009/05/05 |
    |     |-----------------------|
    |A    | 丁三    |  2009/01/05 |
    |     |-----------------------|
    |     | 王大山  |  2009/01/01 |
    -------------------------------
    相同的部门名称存一个单元格里。
      

  8.   

    List a = select 部门,姓名,入职时间 from 表 group by 部门 order by 入职时间 desc;
    List b = select 部门 from 表 group by 部门 order by 入职时间 desc;
    Struts标签解决不了,要使用JSTL
    先循环a ,然后循环b,根据a.部门=b.部门判断。输出a.姓名,a.入职时间。
      

  9.   

    1)
    JSP 页面本来显示如下内容:部门  姓名        入职时间 
    A      王大山      2009/01/01 
    B      张二牛      2009/03/02 
    A      丁三        2009/01/05 
    A      赵明亮      2009/05/05 
    C      黄依依      2009/03/09 
    B      孙小风      2009/02/01 2)使用SQL(order by 部门),使JSP页面输出如下内容部门 |  姓名  |    入职时间 
    ------------------------------- 
    A    | 赵明亮  |  2009/05/05 | 
    A    | 丁三    |  2009/01/05 | 
    A    | 王大山  |  2009/01/01 | 
    ------------------------------- 
    B    | 张二牛  |  2009/03/02 | 
    B    | 孙小风  |  2009/02/01 | 
    ------------------------------- 
    C    | 黄依依  |  2009/03/09 | 
    ------------------------------- 3)使用JS(<body onload="init();"></body>  init()函数用来合并table 单元格)合并table 单元格得到如下JSP页面:
    部门 |  姓名  |    入职时间 
    ------------------------------- 
        | 赵明亮  |  2009/05/05 | 
    A   | 丁三    |  2009/01/05 | 
        | 王大山  |  2009/01/01 | 
    ------------------------------- 
    B   | 张二牛  |  2009/03/02 | 
        | 孙小风  |  2009/02/01 | 
    ------------------------------- 
    C   | 黄依依  |  2009/03/09 | 
    ------------------------------- 
      

  10.   

     
    给分吧,结贴代码:
    ---------------------------------------------------------------------------------------<html>   
      <head>   
      <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">   
      <title>合并表格</title>   
      <script>   
      ///////////////////////////////////////////////   
      //   功能:合并表格   
      //   参数:tb--需要合并的表格ID   
      //   参数:colLength--需要对前几列进行合并,比如,   
      //   想合并前两列,后面的数据列忽略合并,colLength应为2   
      //   缺省表示对全部列合并   
      //   data:   2005.11.6   
      ///////////////////////////////////////////////   
      function   uniteTable(tb,colLength){   
      //   检查表格是否规整   
      if   (!checkTable(tb))   return;   
      var   i=0;   
      var   j=0;   
      var   rowCount=tb.rows.length; //   行数   
      var   colCount=tb.rows[0].cells.length; //   列数   
      var   obj1=null;   
      var   obj2=null;   
      //   为每个单元格命名   
      for   (i=0;i<rowCount;i++){   
      for   (j=0;j<colCount;j++){   
      tb.rows[i].cells[j].id="tb__"   +   i.toString()   +   "_"   +   j.toString();   
      }   
      }   
      //   逐列检查合并   
      for   (i=0;i<colCount;i++){   
      if   (i==colLength)   return;   
      obj1=document.getElementById("tb__0_"+i.toString())   
      for   (j=1;j<rowCount;j++){   
      obj2=document.getElementById("tb__"+j.toString()+"_"+i.toString());   
      if   (obj1.innerText   ==   obj2.innerText){   
      obj1.rowSpan++;   
      obj2.parentNode.removeChild(obj2);   
      }else{   
      obj1=document.getElementById("tb__"+j.toString()+"_"+i.toString());   
      }   
      }   
      }   
      }   
        
      /////////////////////////////////////////   
      //   功能:检查表格是否规整   
      //   参数:tb--需要检查的表格ID   
      //   data:   2005.11.6   
      /////////////////////////////////////////   
      function   checkTable(tb){   
      if   (tb.rows.length==0)   return   false;   
      if   (tb.rows[0].cells.length==0)   return   false;   
      for   (var   i=0;i<tb.rows.length;i++){   
      if   (tb.rows[0].cells.length   !=   tb.rows[i].cells.length)   return   false;   
      }   
      return   true;   
      }   
      </script>   
      </head>   
        
      <body onload="uniteTable(table1,2);">   
      <table   width="400"   border="1"   id="table1">   
          <tr>   
              <td>A</td>   
              <td>赵明亮</td>   
              <td>2009/05/05</td>   
          </tr>   
          <tr>   
              <td>A</td>   
              <td>丁三</td>   
              <td>2009/01/05</td>    
          </tr>   
          <tr>   
              <td>A</td>   
              <td>王大山</td>   
              <td>2009/01/01</td>     
          </tr>   
          <tr>   
              <td>B</td>   
              <td>张二牛</td>   
              <td>2009/03/02</td>    
          </tr>   
          <tr>   
              <td>B</td>   
              <td>孙小风 </td>   
              <td>2009/02/01</td>    
          </tr>
       <tr>   
              <td>C</td>   
              <td>黄依依 </td>   
              <td>2009/03/09</td>    
          </tr>   
      </table>   
      <br>   
      </body>   
      </html>