这种写法不符合面向对像编程.LIST里放好只放一种类型的
你这种写法只能用代码来完成了.

解决方案 »

  1.   

    是不是我的HQL语句写的不对,应该怎么写?
    String hql = "select  u.userId ,  u.userName,  u.userGender,  u.userBirthday,  r.roleName  from  Users u,  Roles r   where  u.roles = r ";
    如果我把hql语句这么写,list里面存放的的确是一些属性,我用属性的名字取不出来,应该怎么取?
      

  2.   

    最好你把所需查询出来的字段封装成一个bean
    这样name就是你的bean name,property是bean的属性
      

  3.   

    2个表的连接,那把你连接查询出来的数据字段作为你的Bean的属性不好么?
    这样前台JSP就可以用<logic:iterate id="u" name="usersForm" property="list"> 来输出了。
      

  4.   

    其实用EL表达式最简单。
    <logic:iterate id="u" name="usersForm" property="list">
    <tr>
    <td align="center">
    ${u[0].userId }
    </td>
    <td align="center">
    ${u[0].userName }
    </td>
    <td align="center">
    ${u[0].userGender==1?"男":"女" }
    </td>
    <td align="center">
    ${u[0].userBirthday }
    </td>
    <td align="center">
    ${u[1].roleName }
    </td>
    <td align="center">
    <a href="/SHTest/users.do?hidden=delete&userid=${u[0].userId}">删除</a>
    </td>
    </tr>
    </logic:iterate>