问题描述:
后台action方法 publishPre(前台链接,主负责将页面导向 发布页面)
一个发布的页面 publish.jsp;发布的后台处理action 方法 publish(所有的action在同一个类里面);
由 publishPre ---》 页面跳转  publish.jsp ---- 发布提交后,我让他不通过,
然后error返回(@Result(name=ERROR,location="***/publish.jsp")}));函数到达 return,return之后 报错:java.lang.IllegalStateException: Response already committed;
求解释

解决方案 »

  1.   

    @Result(name=ERROR,location="***/publish.jsp") 这边的主要问题 好像是 页面跳转到publish.jsp 所以报错,转发到其他jsp不会出错,,,,,这会是什么问题?
      

  2.   

    你response后又作什么了? 代码贴的太少了,说的也有些乱。。
      

  3.   

            /**
     * 获取发布页面
     * @return
     */
    @Action(value = "releasepre", 
    results = { @Result(name = SUCCESS, location="/***/release.jsp") })
    public String releasePre()
    {
    return SUCCESS;
    }        /**
     * 提交发布,成功返回我发布的列表(代码省略)
             * 失败返回 发布页面
     * @return
     */
    @Action(value = "releasecar", 
    results = { @Result(name = SUCCESS,location="mycar",type="redirectAction"),
    @Result(name = ERROR, location="***/release.jsp")})
    public String release()
    {
       try {
    if(this.getLoginMember()!=null)
    cargoService.publishCargo(this.getLoginMember().getMemberId(), cargo);
    initDataDictionary();
    } catch (Exception e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    this.message = e1.getMessage();
    return ERROR;
    }
    return SUCCESS;
    }在发布提交后,由releasecar处理后,报错 java.lang.IllegalStateException: Response already committed;至于 “你response后又作什么了?” 代码就是这样的流程,前台的发布页面 release.jsp 就是负责显示message , 会对response 有何操作呢?还有就是 整个我要实现的是 当前台输入的在提交后,后台判断输入失败,然页面在返回到发布页面的前台,然后保证刚刚输入的信息还保留着(不需要ajax实现)应该清楚吧
      

  4.   


    如果将 @Action(value = "releasepre", 
    results = { @Result(name = SUCCESS, location="/***/release.jsp") })
    中的 location 导向其他的页面就不会出问题(是不是 发布页面的jsp提交给后台,后台转发到的页面又是发布的jsp 然后这两个对象在后台都是有对象的?而且是同一个???)
      

  5.   

    这个好像是前台jsp中 引用到 EL 表达式取值的时候,取值发生错误,但是为什么抱这个错误,难道是没有这个变量的时候 会在response中在写入这个变量只是这个变量是空的?