Struts2 struts 2重定向java.lang.IllegalStateException

Struts2 struts 2重定向java.lang.IllegalStateException,struts2,Struts2,我正在我的网站上创建一个论坛。我有一个主页,在那里我显示了所有的主题和按钮来搜索和创建新的线程。如果用户单击最后一个按钮,我将显示一个表单以输入新主题的数据。当用户单击submit时,我将这个新线程存储在DB中,然后重定向到显示主页的操作: < action name="showForum" class="es.busco.colegio.actions.ForumAction" method="show"> < result name="success">/WE

我正在我的网站上创建一个论坛。我有一个主页,在那里我显示了所有的主题和按钮来搜索和创建新的线程。如果用户单击最后一个按钮,我将显示一个表单以输入新主题的数据。当用户单击submit时,我将这个新线程存储在DB中,然后重定向到显示主页的操作:

< action name="showForum" class="es.busco.colegio.actions.ForumAction" method="show">
    < result name="success">/WEB-INF/jsp/forum.jsp< /result>
< /action>

< action name="newTopic" class="es.busco.colegio.actions.ForumAction" method="newTopic">
    < result name="success">/WEB-INF/jsp/newTopic.jsp< /result>
< /action>

< action name="createTopic" class="es.busco.colegio.actions.Forumction" method="insert">
    < result name="success" type="redirect">http://www.buscocolegio.com/Colegio/showForum.action< /result>
</ action>
所以在执行topicService.createTopic(topic)之后;它返回到日期d=新日期()


有人知道为什么吗?

如果没有看到您的jsp代码,我无法确定这是否是正在发生的事情,但我确实遇到了这样一个问题:一个操作在IE中执行了两次,在Firefox、Chrome和Opera中只执行了一次

我们的一位工程师在表单提交按钮中添加了onclick事件,该按钮在单击时会消失。但是,他还包括了一个
文档.forms[0].submit()在javascript中调用。仅在IE中,这导致操作执行两次


因此,请确保并检查您是否在正常HTML

的基础上调用javascript submit来意外提交表单两次。您是否尝试过调试应用程序以了解发生这种情况的原因。如果您对代码没有任何了解,很难帮到您。此外,这种情况只发生在IE上,而不是在Firefox或Chrome上。。。
try{
        Date d=new Date();
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        String s=sdf.format(d);         
        Date d1=sdf.parse(s);
        topic.setDate(d1);
        topic.setText(topic.getText().replaceAll("\n", "<br>"));
        topicService.createTopic(topic);
    }catch (Exception ex){
        logger.error("Error: "+ex,ex);
        return Action.ERROR;
    }
    return Action.SUCCESS;
}