Hi,

I tried out your suggestions and I am still getting this exception.  I even put 
everything in the JSP in one line and mad sure there were no whitespaces.

<%@ taglib uri="http://struts.apache.org/tags-logic"; prefix="logic"%><%@ page 
contentType="text/html" import="org.apache.log4j.Logger"%><%final Logger log = 
Logger.getLogger("index.jsp");log.debug("begin");%><logic:forward 
name="welcome" />

Any other ideas?

-----Original Message-----
From: Wes Wannemacher [mailto:w...@wantii.com] 
Sent: Wednesday, May 20, 2009 4:48 PM
To: Struts Users Mailing List
Subject: Re: IllegalStateException: Cannot forward. Response already committed.

The JSP compiler simple turns those <% %> tags inside out and
everything outside of those tags is a string with an out.print... In
your case, the first two things in the file generate returns...
Whitespace is significant... Let me see if I can make it visually more
understandable

Index.jsp
<%@ taglib uri="http://struts.apache.org/tags-logic"; prefix="logic"%>
        <---- RIGHT HERE, You will get a out.print("\n");
<%@ page contentType="text/html" import="org.apache.log4j.Logger"%>
<----- SAME HERE
<%

Hopefully it doesn't get all wrapped and screwed up.

You might be wondering now, why does it work sometimes and not
others... Well, the IllegalStateException is only thrown if output has
been flushed, so you can get away with breaking the rules from time to
time. You can even set the page buffer variable really high so that
you reserve the right to redirect, even if you have generated some
output.

Anyhow, try to remove whitespace, you could probably just do it this
way and have it work -
Index.jsp ->
<%@ taglib uri="http://struts.apache.org/tags-logic"; prefix="logic" %><%@
   page contentType="text/html" import="org.apache.log4j.Logger"
%><%
                final Logger log = Logger.getLogger("index.jsp");
                log.debug("begin");
 %><logic:forward name="welcome" />


On Wed, May 20, 2009 at 4:39 PM, Hermann X Lau
<hermann.x....@jpmchase.com> wrote:
> Thanks in advance for any help on this...
>
>  I understand we get this exception when the JSP attempts to write to the 
> print stream after the response has been committed but I don't see how this 
> is occurring in my situation since my JSP just contains a simple forward.
>
> Index.jsp
> <%@ taglib uri="http://struts.apache.org/tags-logic"; prefix="logic"%>
> <%@ page contentType="text/html" import="org.apache.log4j.Logger"%>
> <%
>                final Logger log = Logger.getLogger("index.jsp");
>                log.debug("begin");
> %>
> <logic:forward name="welcome" />
>
> Here is my action class (note that in my logs, this exception occurs even 
> before the execute method is called!):
>                 public class ChoiceAction extends StrutsAction {
>
>                public ActionForward execute(ActionMapping mapping, ActionForm 
> form, HttpServletRequest request, HttpServletResponse response) throws 
> Exception {
>                                log4j.debug("execute");
>                                ManifestChoiceFormBean choiceForm = 
> (ManifestChoiceFormBean) form;
>                                Connection conn = 
> DAOUtils.getConnection("jdbc/OSURptDb");
>
>                                try {
>                                                RenderRequest req = 
> (RenderRequest)request.getAttribute("javax.portlet.request");
>                                                String sites = 
> getResources(request).getMessage("upsws.site.list." + 
> req.getPreferences().getValue("SITE_IND","").toLowerCase());
>                                                log4j.debug(sites);
>                                                IMailManifestDAO dao = 
> DAOBuilder.buildMailManifestDAO(conn);
>                                                boolean uspsActive = 
> dao.uspsJobsExist(sites);
>                                                
> choiceForm.setUspsActive(uspsActive);
>                                                log4j.info("USPS link is " + 
> ((uspsActive) ? " active": " not active"));
>
>                                                return 
> mapping.findForward("next");
>
>                                } finally {
>                                                DAOUtils.closeConnection(conn);
>                                }
>                }
>                static final Logger log4j = 
> Logger.getLogger(ChoiceAction.class);
> }
>
> log:
> INFO : 2009-05-20 16:26:18,581 
> com.bbb.adf.controller.WpsStrutsPortletOSU:WpsStrutsPortletOSU init() using 
> URL = file:/usr/WebSphere/wps61/wp_profile/installedApps/ret7a15
> 9/PA_MailManifest.ear/MailManifest.war/WEB-INF/classes/log4j.properties
> DEBUG: 2009-05-20 16:26:19,264 index.jsp:begin
> ERROR: 2009-05-20 16:26:19,713 com.bbb.exceptions.DefaultHandler:Exception 
> caught by default handler.
> javax.portlet.PortletException: javax.portlet.PortletException: 
> javax.servlet.jsp.JspException: Exception forwarding for name welcome: 
> java.lang.IllegalStateException: Cannot
> forward. Response already committed.
>        at 
> com.ibm.portal.struts.command.StrutsViewJspCommand.includeURL(StrutsViewJspCommand.java:192)
>        at 
> com.ibm.portal.struts.command.StrutsViewJspCommand.execute(StrutsViewJspCommand.java:154)
> ....
> Caused by:
> javax.portlet.PortletException: javax.servlet.jsp.JspException: Exception 
> forwarding for name welcome: java.lang.IllegalStateException: Cannot forward. 
> Response already commit
> ted.
>        at 
> com.ibm.ws.portletcontainer.core.impl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:125)
>        at 
> com.ibm.ws.portletcontainer.core.impl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:230)
>        at 
> com.ibm.wps.standard.struts.util.WpsStrutsUtil.include(WpsStrutsUtil.java:2242)
>        at 
> com.ibm.portal.struts.command.StrutsViewJspCommand.includeURL(StrutsViewJspCommand.java:186)
>        ... 240 more
> Caused by:
> javax.servlet.jsp.JspException: Exception forwarding for name welcome: 
> java.lang.IllegalStateException: Cannot forward. Response already committed.
>        at 
> org.apache.struts.taglib.logic.ForwardTag.doEndTag(ForwardTag.java:173)
>        at com.ibm.struts.taglib.logic.ForwardTag.doEndTag(ForwardTag.java:94)
> ...
> DEBUG: 2009-05-20 16:26:19,946 com.bbb.ui.actions.ChoiceAction:execute
> DEBUG: 2009-05-20 16:26:20,234 com.bbb.ui.actions.ChoiceAction:CPC,CPC-OH
> INFO : 2009-05-20 16:26:20,254 com.bbb.ui.actions.ChoiceAction:USPS link is  
> not active
>
>
> I am using WebSphere Portal 6.1
>
>
> This communication is for informational purposes only. It is not
> intended as an offer or solicitation for the purchase or sale of
> any financial instrument or as an official confirmation of any
> transaction. All market prices, data and other information are not
> warranted as to completeness or accuracy and are subject to change
> without notice. Any comments or statements made herein do not
> necessarily reflect those of JPMorgan Chase & Co., its subsidiaries
> and affiliates.
>
> This transmission may contain information that is privileged,
> confidential, legally privileged, and/or exempt from disclosure
> under applicable law. If you are not the intended recipient, you
> are hereby notified that any disclosure, copying, distribution, or
> use of the information contained herein (including any reliance
> thereon) is STRICTLY PROHIBITED. Although this transmission and any
> attachments are believed to be free of any virus or other defect
> that might affect any computer system into which it is received and
> opened, it is the responsibility of the recipient to ensure that it
> is virus free and no responsibility is accepted by JPMorgan Chase &
> Co., its subsidiaries and affiliates, as applicable, for any loss
> or damage arising in any way from its use. If you received this
> transmission in error, please immediately contact the sender and
> destroy the material in its entirety, whether in electronic or hard
> copy format. Thank you.
>
> Please refer to http://www.jpmorgan.com/pages/disclosures for
> disclosures relating to European legal entities.



-- 
Wes Wannemacher
Author - Struts 2 In Practice
Includes coverage of Struts 2.1, Spring, JPA, JQuery, Sitemesh and more
http://www.manning.com/wannemacher

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

This communication is for informational purposes only. It is not
intended as an offer or solicitation for the purchase or sale of
any financial instrument or as an official confirmation of any
transaction. All market prices, data and other information are not
warranted as to completeness or accuracy and are subject to change
without notice. Any comments or statements made herein do not
necessarily reflect those of JPMorgan Chase & Co., its subsidiaries
and affiliates.

This transmission may contain information that is privileged,
confidential, legally privileged, and/or exempt from disclosure
under applicable law. If you are not the intended recipient, you
are hereby notified that any disclosure, copying, distribution, or
use of the information contained herein (including any reliance
thereon) is STRICTLY PROHIBITED. Although this transmission and any
attachments are believed to be free of any virus or other defect
that might affect any computer system into which it is received and
opened, it is the responsibility of the recipient to ensure that it
is virus free and no responsibility is accepted by JPMorgan Chase &
Co., its subsidiaries and affiliates, as applicable, for any loss
or damage arising in any way from its use. If you received this
transmission in error, please immediately contact the sender and
destroy the material in its entirety, whether in electronic or hard
copy format. Thank you.

Please refer to http://www.jpmorgan.com/pages/disclosures for
disclosures relating to European legal entities.

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to