一个添加学生信息页面,一个显示所有学生信息页面.在添加页面写好信息后点击提交按扭后跳到显示的页面,这时什么都不动,按F5或点击刷新,显示的页面会多一条和之前添加的那条信息一样的数据,老师说这是因为在ACTION中用的是mapping.findforword("xxx.jsp"),这个的原因,但没告诉我怎么改要我自己在网上找答案,我找了一个小时了,还没找到,对此我表示很纠结。求大虾帮忙..

解决方案 »

  1.   

    用的是struts1吧?  把ACTION 发上来看一下
      

  2.   

    baidu搜下struts1的防重复提交机制
    实际就是已个token
      

  3.   

    public ActionForward addStudent(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
    DynaActionForm studentForm = (DynaActionForm) form;// TODO Auto-generated method stub
    Student stu=(Student)studentForm.get("student");
    studentService.addStu(stu);
    return mapping.findForward("list");

    }
      

  4.   

    添加页面交给添加的action处理,处理完之后不要返回到具体的页面,应该返回到查询所有的action处理
    struts2中可以用redirectAction或者chain来配置
    如果用sturts1,思路应该是一样的吧
      

  5.   

    谢谢各位。。根据各位的给的思路,我用了三种方法解决了此问题,一,用token,二,用一个中间页面,三,在struts里跳向显示的那个forword的后面加上redirect="true"就OK了。。