数据库更新但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里的值看了,数量一直是第一次读出来那些,为什么会这样啊,数据库分明已经更新了。 展开
代码:
提交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里的值看了,数量一直是第一次读出来那些,为什么会这样啊,数据库分明已经更新了。 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询