在数据库假如我有张表的字段是这样的:开支1,开支2,开支3,开支4,开支总计,年份因为字段比较多,所以迭代出来的表,我想按年份为列这样显示:名称     第一年  第二年  第三年  第四年
开支1      21      21      32     22
开支2      21      21      32     22
开支3      21      21      32     22
开支4      21      21      32     22
开支总计   21      21      32     22但是用<logic:iterate id="" name="" indexId="" >
        <tr>............</tr>
       </logic:iterate>
迭代好像不能达到这种效果小妹比较急。。希望有经验的师长指点迷津...

解决方案 »

  1.   

    这是一个交叉表的应用, 我觉得你最好还是写好 sql 后获取 结果集, 再写到 list, 
      

  2.   

    名称    第一年  第二年  第三年  第四年 
    开支1      21      21      32    22 
    开支2      21      21      32    22 
    开支3      21      21      32    22 
    开支4      21      21      32    22 
    开支总计  21      21      32    22 这样表示太别扭-----------名称    开支1 开支2  开支3 开支4 开支总计
    第一年   21   21    32    22    96
    第二年   21   21    32    22    96
    第三年   21   21    32    22    96
    第四年   21   21    32    22    96这样表示更清晰<logic:iterate id="" name="" indexId="" > 
         <tr>
             <td>${nianfen }</td>
             <td>${kaizhi1 }</td>
             <td>${kaizhi2 }</td>
             <td>${kaizhi3 }</td>
             <td>${kaizhi4 }</td>
             <td>${zhongji }</td>
         </tr> 
    </logic:iterate> 
      

  3.   


    想到一个比较笨的办法,不想写很麻烦的查询语句的话,这个算是最简单的实现了。
    <tr> 
        <logic:iterate id="" name="" indexId="" > 
           <td>${nianfen } </td> 
        </logic:iterate> 
    </tr> 
    <tr> 
        <logic:iterate id="" name="" indexId="" > 
           <td>${kaizhi1 } </td> 
        </logic:iterate> 
    </tr> <tr> 
        <logic:iterate id="" name="" indexId="" > 
           <td>${kaizhi2 } </td> 
        </logic:iterate> 
    </tr> <tr> 
        <logic:iterate id="" name="" indexId="" > 
           <td>${kaizhi3 } </td> 
        </logic:iterate> 
    </tr> <tr> 
        <logic:iterate id="" name="" indexId="" > 
           <td>${kaizhi4 } </td> 
        </logic:iterate> 
    </tr> <tr> 
        <logic:iterate id="" name="" indexId="" > 
           <td>${zongji } </td> 
        </logic:iterate> 
    </tr> 
      

  4.   

    谢谢,那你的意思就是取得时候这样取:
    List list = template.find("select 开支1 from Tinvestment");
    List list = template.find("select 开支2 from Tinvestment");
    List list = template.find("select 开支3 from Tinvestment");
    ....
      

  5.   


    你这么地,,,也行吧。
    就是感觉稍嫌罗嗦。
    你可以做一个实体类,然后和你表中的每一行数据对应。这样把表中结果取出来后,放到list中,list中每个元素对应的
    就是一个类对象,然后用struts的forEach标签遍历(也可写循环遍历。)