最近在学着用JSP+javabean做个简单的论坛系统,
一般论坛都有显示主题以及它对应的回复的个数, 不知道这个效果怎么实现的~
我数据库是用的MS server2000 ,
假设表是这样的 主题表 字段为  "主题ID","标题","主题内容"        主题ID 为主键
               回复表 字段为  "主题ID","回复标题","回复内容"        这个主题ID 为外键  
    
主题和回复都是属于帖子. 我这里用了两张表,上面只简单的举列了几个字段,通过字段"主题ID"来关联 , 
现在要在一个jsp页面上显示主题表里的"标题"字段,和对应的回复个数. 
各个主题回复个数可以用分组查询计算出来, 可怎么能和主题对应起来显示在页面上呢
或者有其他的方法来实现?

解决方案 »

  1.   

    写个bean,包含主题的信息和一个回复个数,保存到一个ArrayList,页面循环这个ArrayList,取出bean,进行显示
      

  2.   

    我们教程里有个电子留言板的例子,扩展一下就变成论坛了:http://www.family168.com/tutorial/jsp/html/jsp-ch-10.html
      

  3.   

    Java 技术交流群!入群先看公约!本群公约:互助、互勉、共同进步!惑则问、知则答、不知则表示关注。帮助新手、细心回答。 
    同意上述公约者·申请加入!  
    QQ群号:25922618(一群)-----人员快满
      

  4.   

    可是主题信息和回复数不能一一对应啊
    xyz20003 的例子我看了,
    String sql =    "select " +
                    "t.id, " +
                    "t.title, " +
                    "(select count(id) from comment where thread=t.id) as reply, " +
                    "(select username from user where id=t.user) as author, " +
                    "t.hit, " +
                    "(select top 1 create_time from comment where thread=t.id order by create_time desc) as create_time, " +
                    "(select top 1 u.username from comment c,user u where c.thread=t.id and c.user=u.id " +
                    "order by create_time desc) as user " +
                "from thread t " +
                "order by user desc";在上面这个SQL查询中"(select count(id) from comment where thread=t.id) as reply, "字段只是统计了有回复的主题的回复数,那还有的主题没有回复呢, 和"t.id, " "t.title, "字段好象不是对应的把.不知道我哪里理解错了,请xyz20003 解释一下.
      

  5.   

    "select count(id) from comment where thread=t.id) as reply"   
     但是这句话只统计了ID为 thread=t.id 的主题的回复数啊, 而楼上的整个sql语句是查询所有的主题相关信息,
     
    难道缺省的为0
      

  6.   

    啊,刚测试 结果证明你是对的,
    呵呵,问题解决,偶的错啊,怎么把问题想的那么复杂,任重道远呢~ 
    非常感谢xyz20003以及回帖的朋友~