<spec-quote version="2.4" section="8.4">
Before the forward method of the RequestDispatcher interface returns, the
response content must be sent and committed, and closed by the servlet
container.
</spec-quote>

The language for the 2.3 spec is similar.  Bottom line: Resin is wrong ;-).

----- Original Message -----
From: "Michael J." <[EMAIL PROTECTED]>
To: "Tomcat Developers List" <tomcat-dev@jakarta.apache.org>
Sent: Friday, April 01, 2005 10:51 AM
Subject: Re: Indirect jsp:include does not seem to work


> Here is what I found at:
> http://java.sun.com/products/jsp/syntax/1.2/syntaxref1214.html#8828
>
> "The <jsp:include> element allows you to include either a static or
> dynamic resource in a JSP page. The results of including static and
> dynamic resources are quite different. If the resource is static, its
> content is included in the calling JSP page. If the resource is
> dynamic, it acts on a request and sends back a result that is included
> in the JSP page. When the include action is finished, the JSP
> container continues processing the remainder of the JSP page."
>
> So, what I am doing is perfectly legitimate. I include a dynamic
> resource (spec does not clarify the type of "resource" or its nesting
> level). It should return result, to be included in the main page. And
> "JSP container continues processing the remainder of the JSP page",
> which Tomcat does not do. It is a bug.
>
> Resin works exactly as I expect, and Jetty works too with a proxy JSP
> page. I have not tried other servers yet.
>
> Thank you,
>    Michael.
>
> On Apr 1, 2005 10:39 AM, Tim Funk <[EMAIL PROTECTED]> wrote:
> > You cannot perform a forward inside an include. [Just like you can't set
any
> > headers, including cookies,  in an include or a host of other things
while in
> > an include.]
> >
> > -Tim
> >
> > Michael J. wrote:
> >
> > > Hello all,
> > >
> > > I have master jsp page, and I try to jsp:include
> > > page="/strutsAction.do", which forwards to detail jsp page,
> > > but this does not work. On Tomcat 4.x and 5.x the detail
> > > page content is included, but further content from the
> > > master page is stripped out.
> > >
> > > According to jsp specs, if I include a resource with
> > > jsp:include, its content should be included in the page.
> > > Afaik the spec does not specify nesting level.
> > >
> > > I looked in the code. ApplicationDispatcher correctly
> > > identifies the first request to strutsAction.do as "Path
> > > Based Include". But when struts action forwards to detail
> > > jsp, ApplicationDispatcher identifies it as "Path Based
> > > Forward". doForward() is called instead of doInclude(), and
> > > ApplicationDispatcher flushes and closes the response
> > > writer. Thus, Jasper cannot write the rest of master page
> > > content to writer, and throws
> > > "org.apache.jasper.JasperException: Stream closed".
> > >
> > > Without thinking much, I commented out writer flushing in
> > > ApplicationDispatcher.doForward(). It seems to work on
> > > Tomcat 4.1.31, but failed on Tomcat 5.0. Anyway, I am not
> > > sure that I did a right thing and that all buffers are properly being
> > > closed now. Would be great if Tomcat devs look into it.
> > >
> > > Btw, Jetty does not work as I want, too. BUT: I tried to create a
> > > "proxy" JSP page, which is included in main JSP page. This proxy page
> > > includes strutsAction.do, which forwards to real JSP page that I want
> > > to include (whew!) Jetty works perfectly fine with this proxy JSP
> > > page!
> > >
> > > Also, Resin works fine both with direct including of struts action
> > > from main page, and with proxy JSP page.
> > >
> > > So, I believe that this is a Tomcat bug.
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>



This message is intended only for the use of the person(s) listed above as the 
intended recipient(s), and may contain information that is PRIVILEGED and 
CONFIDENTIAL.  If you are not an intended recipient, you may not read, copy, or 
distribute this message or any attachment. If you received this communication 
in error, please notify us immediately by e-mail and then delete all copies of 
this message and any attachments.

In addition you should be aware that ordinary (unencrypted) e-mail sent through 
the Internet is not secure. Do not send confidential or sensitive information, 
such as social security numbers, account numbers, personal identification 
numbers and passwords, to us via ordinary (unencrypted) e-mail.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to