数据库更新但JSP不显示-Struts2+Hibernate论坛

完成论坛回帖,提交表单后进入action提交到数据库,然后调用进入页面的action,但是新写入的帖子就是不显示,刷新也不好用,试过各种方法,但确实已经写入数据库。只有等... 完成论坛回帖,提交表单后进入action提交到数据库,然后调用进入页面的action,但是新写入的帖子就是不显示,刷新也不好用,试过各种方法,但确实已经写入数据库。只有等断开服务器再次连接时才会显示,实在不会了,救救我吧。
代码:
提交aciton BbsReplyDAO brdao = new BbsReplyDAO();
BbsTopicDAO btdao = new BbsTopicDAO();
BbsMemberDAO bmdao = new BbsMemberDAO();

String bmstr = request.getSession().getAttribute("id").toString();
BbsMember bm = bmdao.findById(Integer.parseInt(bmstr));
BbsTopic bt = btdao.findById(Long.parseLong(tidstr));

br = new BbsReply();
br.setBbsMember(bm);
br.setBbsTopic(bt);
br.setRtext(rtext);
Transaction ts = brdao.getSession().beginTransaction();
brdao.save(br);
ts.commit();
显示action:
BbsTopicDAO dao = new BbsTopicDAO();
replies = dao.getByID(Long.parseLong(request.getParameter("tid")));
ServletActionContext.getRequest().setAttribute("replies", replies);
return "success";
hql语句部分:
Session session = HibernateSessionFactory.getSession();
String querystr = "from BbsReply where bbsTopic.tid = :bt order by repDate";
Query query = session.createQuery(querystr);
query.setLong("bt", l);
List ltmp = query.list();
session.close();
return ltmp;
页面显示部分
<s:iterator value="#request.replies">
<s:property value="rtext" /><br>
</s:iterator>
是在写入request前先清空一下么,试过了没有用呀~也试过用ADD,但是也只是增加一行,然后再就没有了=。=! request里的值看了,数量一直是第一次读出来那些,为什么会这样啊,数据库分明已经更新了。
展开
 我来答
百度网友f683cf5
2009-04-14 · TA获得超过369个赞
知道小有建树答主
回答量:522
采纳率:0%
帮助的人:370万
展开全部
request里存的对象再次更新里没有,你可以调试下,在java代码里把request存的对象读出来看下是不是已经更新了,如果没更新,删掉重新设置一下看看
request.removeAttribute("replies");
ServletActionContext.getRequest().setAttribute("replies", replies);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式