You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-user@portals.apache.org by Frank Villarreal <fv...@directhitdata.com> on 2001/05/10 17:04:44 UTC

How to use JSP in a Turbine application with Jetspeed?

Hello all!

I am attempting to use JSP templating through a Turbine Portlet within
Jetspeed. I have had success navigating from a Turbine screen class to my
jsp template, but I am stuck on one issue. Every thing compiles and my java
server page is rendering but I am having the following problem(* seems to be
in the JetspeedJspService.handleRequest method *):




This is my JSP ("HelloWorld.jsp"):


<div>
<table width="100%" border="0" cellspacing="0" cellpadding="2">
  <tr>
    <td>
<%="HELLO WORLD"%>
      </a>
    </td>
  </tr>
</table>
 </div>




This is the Jetspeed/Turbine output:


HELLO WORLD  

Error encountered processing a template: java.lang.IllegalStateException:
Cannot forward as OutputStream or Writer has already been obtained





This is the output in the Jetspeed.log:


[Thu May 10 09:44:30 CDT 2001] -- NOTICE  -- Layout: set type to text/html
[Thu May 10 09:44:30 CDT 2001] -- NOTICE  -- Serving JSP:
/WEB-INF/templates/jsp/screens/HelloWorld.jsp
[Thu May 10 09:44:30 CDT 2001] -- NOTICE  -- Serving JSP:
/WEB-INF/templates/jsp/layouts/html/default.jsp
[Thu May 10 09:44:30 CDT 2001] --  ERROR  -- Error encountered processing a
template:/WEB-INF/templates/jsp/layouts/html/default.jsp
[Thu May 10 09:44:30 CDT 2001] --  ERROR  -- 
	Exception:  java.lang.IllegalStateException: Cannot forward as
OutputStream or Writer has already been obtained
	Stack Trace follows:
	java.lang.IllegalStateException: Cannot forward as OutputStream or
Writer has already been obtained
	at
org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatcherImpl
.java:150)
	at
org.apache.jetspeed.services.jsp.JetspeedJspService.handleRequest(JetspeedJs
pService.java:163)
	at
org.apache.jetspeed.modules.layouts.JetspeedJspLayout.doBuild(JetspeedJspLay
out.java:117)
	at org.apache.turbine.modules.Layout.build(Layout.java:93)
	at
org.apache.turbine.modules.LayoutLoader.exec(LayoutLoader.java:122)
	at
org.apache.turbine.modules.pages.DefaultPage.doBuild(DefaultPage.java:170)
	at org.apache.turbine.modules.Page.build(Page.java:92)
	at org.apache.turbine.modules.PageLoader.exec(PageLoader.java:122)
	at org.apache.turbine.Turbine.doGet(Turbine.java:364)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
	at org.apache.tomcat.core.Handler.service(Handler.java:286)
	at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
	at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:79
7)
	at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
	at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:210)
	at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
	at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
	at java.lang.Thread.run(Thread.java:484)


My Environment Info:


Tomcat 3.2.1
Jetspeed 1.3.1a
Sun JDK 1.3




Additionally, I coded a Turbine screen class as follows:


package org.apache.jetspeed.modules.screens;
import org.apache.turbine.util.RunData;
import org.apache.turbine.util.*;
import org.apache.turbine.modules.Screen;
import org.apache.turbine.modules.screens.BaseJspScreen;

public class HelloWorld extends BaseJspScreen
{
    public void doBuildTemplate( RunData data )
        throws Exception
    {
	   // specify the template
	   setTemplate(data, "HelloWorld.jsp");
	   // this object should get passed to the jsp by the JSP service
         data.setMessage("this is Frank's JSP test...");
    }
}


Please excuse my ignorance, but can anyone tell me what I'm doing wrong
here? Thanks for any help in advance!

PS: not using JSP is not an option for me...

- Frank

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-user-help@jakarta.apache.org