Cannot forward after response has been committed
试图在jsp页面里包含Action:
<c:import url="/friendlink.do?method=list"></c:import>
<jsp:include flush="true" page="friendlink.do"></jsp:include>
结果出现以上错误。
想想其实也很容易理解,Action的过程本身就是请求转发,而此时处理未完成页面却已输出。
解决办法一:使用bean:include
<bean:include id="friendlink" page="/friendlink.do?method=list"/>
<bean:write name="friendlink" filter="false"/>
可以这样理解,就是Action处理的结果被保存到bean里了,这里只是输出bean里包含的内容,没有涉及页面转发和定向问题,所以不会有异常。
解决办法二:使用tiles
tiles里可以直接包含Action,配置方法和包含jsp时一样。
解决办法三:使用Ajax
Ajax就是被设计来从后台异步发送请求和接收处理结果,所以必定能满足这种需求。
解决办法四:使用TAG
标签的用法就不用说了,相当于不用Action而在页面嵌入Java代码。
本文探讨了在JSP页面中包含Action时遇到的错误Cannot forward after response has been committed,并提供了四种解决方案:使用bean:include、tiles、Ajax和TAG。这些方法分别针对页面包含、模板引擎、异步请求和页面嵌入Java代码的需求,有效地避免了错误发生。
1343

被折叠的 条评论
为什么被折叠?



