需求是这样地,我要在主页通过list.action方法显示一个帖子列表页,但在列表右面要显示回复的条数.
列表页面是通过C:foreach遍历list.action返回的list,我要是想得到回复的条数,就得调用通过id查找回复数的action,现在
问题是这个id要如何传给action呢?我怎么在调用list.action显示帖子列表的时候同步显示对应的回复条数呢?
给点思路

解决方案 »

  1.   

    连表查询不是问题我现在的问题是如何调用list.action显示帖子列表的时候同步显示对应的回复条数   
      

  2.   

    将ID传给action并查值 保存,取出时先保存回复条数,再取出来
      

  3.   

    从思路的角度上,你的这种思路本身就有问题,按照你的思路,是先把list查询出来,然后再根据每个id再去查询回复条数,那么这样的话,为什么不能一次性的把list,以及每个所对应的回复条数查询出来呢。
      

  4.   

    一个左边接就搞定了,还那么烦的查干嘛,当然要查也可以
    现在按你的思路给出方式
    先通过 list.action 查出列表 得到 一个 list
    <c:forEach var="topic" items="${list}" >
    显示帖子的内容.......
    <jsp:include page="..../viewQuantity.action?topicId=${topic.id}" />   //这里通过 action 处理响应得到一个专门用于显示回复数量的 JSP 页面,就可以显示数量了
    </c:forEach>
    显示回复数量的JSP:
    <%@ page ..... %>
    <span>${quantity}</span>以上就可以解决你现有的问题了第二种左外连接查询:
    SELECT topic.id, topic.name ...... , reply.count FROM TOPIC topic
    LEFT JOIN REPLY reply ON topic.id = reply.topicId
    WHERE .......
    GROUP BY topic.id, topic.name ...... // 查了哪些主题表的字段,就要把主题表的字段全部列在这里再有的就是 子查询了:
    SELECT topic.id, ..... (SELECT COUNT(reply.id) FROM REPLY reply WHERE .....)
    FROM TOPIC topic
    WHERE .....取值我就不用说了吧
      

  5.   

    看可不可以把对应ID的回复条数放到list所存放的对象中一并显示出来呢,这些工作就该在业务逻辑层做处理了