Hi Isaac, If you are using Cactus 1.4, you should not have this problem. The problem is simply that you need to have an HTTP session created before you can use the pageContext object. In a JSP you control the HTTP session creation in the @page directive:
<%@page import="org.apache.cactus.server.*" session="true" %><% This snippet comes from Cactus jspRedirector.jsp JSP page. If you're using a version of Cactus older than 1.4, it has 'session="false"'. Make it true and it should fly ... Cheers, -Vincent PS: Please send all emails related to Cactus on the Cactus mailing list -----Original Message----- From: Tuuri, Isaac (Isaac) ** CTR ** [mailto:[EMAIL PROTECTED]] Sent: 16 August 2002 23:50 To: [EMAIL PROTECTED] Subject: cactus +java.lang.IllegalArgumentException: can't access SESSION_SCOPE without an HttpSession Importance: High Howdy Vincent, Im a cactus newbie, name is Isaac, but im having the same error you gave an answer for on mail-archive.com, basiclly i cant get a session object to work properly under cactus: pageContext.setAttribute("key", "value", pageContext.SESSION_SCOPE); i get java.lang.IllegalArgumentException: can't access SESSION_SCOPE without an HttpSession your answer to the similar question was: "In the meantime, I guess putting : session="true" will make it work, right ? " , but i didnt understand exactly what that meant, put session="true"; litterally on a line before i call setAttribute? if so, this gives me an incompatible type error. the original thread was: -----Original Message----- From: Vincent Massol [<mailto:[EMAIL PROTECTED]>] Sent: 29 April 2002 22:03 To: 'Cactus Users List' Subject: RE: HttpSession does not exists Marc, This looks like a bug to me. Can you raise a bug using the bugzilla link on the Cactus web page. That would prevent us from forgetting it next time. In the meantime, I guess putting : session="true" will make it work, right ? I do think you use Cactus correctly but simply that this bug was not fixed in Cactus 1.3 ... Thanks for your help -Vincent > -----Original Message----- > From: Brette, Marc [<mailto:[EMAIL PROTECTED]>] > Sent: 29 April 2002 16:10 > To: [EMAIL PROTECTED] > Subject: HttpSession does not exists > > Hi, > I have just updated to Cactus 1.3 and the following code throws an > exception > : > > public class Testresults extends JspTestCase { > ... > protected void setUp() throws Exception { > // Setup the needed beans > // JSPDataConstants.initializeConstants(pageContext) ; > SessionBean sessionBean = new SessionBean() ; > pageContext.setAttribute("sessionBean", > sessionBean,PageContext.SESSION_SCOPE) ; > } > ... > java.lang.IllegalArgumentException: can't access SESSION_SCOPE without an > HttpSession > at > org.apache.jasper.runtime.PageContextImpl.setAttribute(PageContextImpl.j av > a: > 244) > at > org.apache.cactus.server.AbstractPageContextWrapper.dispatch63_setAttrib ut > e > AbstractPageContextWrapper.java;org/apache/cactus/util/log/LogAspect.jav a( > 1k > ):319) > at > org.apache.cactus.server.AbstractPageContextWrapper.around63_setAttribut e( > Ab > stractPageContextWrapper.java;org/apache/cactus/util/log/LogAspect.java( 1k > ): > 1147) > at > org.apache.cactus.server.AbstractPageContextWrapper.setAttribute(Abstrac tP > ag > eContextWrapper.java;org/apache/cactus/util/log/LogAspect.java(1k):316) > at Testresults.setUp(Testresults.java:86) > at > org.apache.cactus.AbstractTestCase.runBareServerTest(AbstractTestCase.ja va > :4 > 88) > at > org.apache.cactus.server.AbstractTestCaller.doTest(AbstractTestCaller.ja va > :1 > 48) > ... > > It worked with Cactus previous version, but I remember I had to change the > jspRedirector.jsp first line to > <%@page import="org.apache.cactus.server.*" session="true" %> (the > original > version states session="false") > > I made this change because I had a similar exception and saw this advice > on > cactus mailing list. > But now, it seems obvious that I don't correctly use Cactus. > Could you help, please ? > > --Marc -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
