最近做项目,使用DWR的时候遇到了一个莫名其妙的问题:
需求:博客系统,当用户浏览某个博客首页的时候列出博主文章的标题列表,并且列出文章的回复数,由于回复在另外一个表中,需要查询count(*)获取。我的实现是,先列出文章标题,再用DWR获取各个文章的回复数(生成一个文章标题就生成一个ReplyCountUtil.replyCountUtil(id)方法获取回复数)
JS对象配置:
[code="java"]
[/code]给getArtCount方法传进去一个文章的ID,返回文章的回复数。
问题是:当页面加载完成后,DWR读取的回复数总是一样的(即第一篇文章的回复数),好像其他的getArtCount()就没有执行??
为什么...
是不是我这种实现方式也有问题?
[b]问题补充:[/b]
前台jsp是这样的,因为太多,我简化了一下:
[code="java"]
-
标题:${article.name }
回复:getNums(${article.id });}条
/c:forEach
页面加载完毕后执行getNums方法获取数量:
[code="java"]<br>
//获得文章的回复数<br>
function getNums(id)<br>
{<br>
var obj = document.getElementById('article_'+year);<br>
obj.innerHTML = "";<br>
//调用ReplyCountUtil类的getArtCount方法,根据Id获取文章的回复数<br>
ReplyCountUtil.getArtCount(id,function (data) {setNums(id,data)});<br>
}<br>
//innerHTML到<span><br>
function setNums(id,data)<br>
{<br>
var obj = document.getElementById('article_'+id);<br>
obj.innerHTML = data;//data 文章的回复数<br>
}<br>
[/code]
ReplyCountUtil类的getArtCount方法不用再贴出来了吧,就是通过DAO,执行sql的count()计算文章的回复数。
[b]问题补充:[/b]
还是有问题,估计是dwr在多个相同的方法并行执行时变量有问题?
另外问下:一般像博客、论坛系统取回帖数是怎么去的,谢谢~~
[b]问题补充:[/b]
请问 lovewhzlq
一般像博客、论坛首页当列出标题后,是怎么读取回帖数、浏览量的,谢谢~~
[b]问题补充:[/b]
是一次全部取出赋值,还是像我的实现那样生成多个ajax方法,
最后一个问题,谢谢