struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gabriel Belingueres <belingue...@gmail.com>
Subject Re: Problem with jsp and session on first call
Date Fri, 15 Jan 2010 01:03:48 GMT
1. Not normal, but may be it is so because you are not using one of
the recommended ways of accessing the session object. IIRC, the
"#session" object is an object inside the ValueStack, not the *real*
HttpSession. If you talk directly with the real session object, those
sort of things may happen.

2. I think I never had the necessity of using directly the HttpSession
object. In my actions I implement the SessionAware interface, and in
my interceptors I get the session by calling
ActionContext.getContext().getSession().

BTW, I was certain somebody else had a similar problem before. You may
find this post useful too:
http://old.nabble.com/-S2--newly-created-Session-context-td18448642.html

2010/1/14 Cimballi <cimballi@cimballi.net>:
> Hey Grabiel,
>
> Thanks for the link, now it works, but I two questions :
> 1. About my problem, in the configuration, I am using
> CreateSessionInterceptor to create a session. And in the logs, I can
> see that the first time the JSP is looking for the variable, the
> session exisits but is empty (while I set the value in the action, but
> with HttpSession), the second time, the session contains the value. Do
> you think this behaviour is normal ?
> 2. In which case should we use the "context" session and in which case
> should we use the HttpSession ? For example, in
> CreateSessionInterceptor it uses the HttpSession, but then in the
> actions it seems to be recommended to use the "context" session.
>
> Thanks !
>
> Cimballi
>
>
> On Thu, Jan 14, 2010 at 5:31 PM, Gabriel Belingueres
> <belingueres@gmail.com> wrote:
>> This way of obtaining a Session I think is not a good idiom.
>>
>> May be there are things that happens behind the scene when obtaining a
>> session, that's probably why you are not getting a NPE the first time
>> you call getSession(false) in your code...because "something" already
>> created it.
>>
>> S2 have a Map abstraction of session:
>> http://struts.apache.org/2.1.8.1/docs/how-do-we-get-access-to-the-session.html
>>
>> HTH
>>
>> 2010/1/14 Cimballi <cimballi.cimballi@gmail.com>:
>>> Hi,
>>>
>>> I have a problem with a JSP and the session the first time I call the
>>> action which redirects to the page.
>>> The action sets a variable in the session using the code :
>>> final HttpSession session =
>>>   ServletActionContext.getRequest().getSession(false);
>>> session.setAttribute(name, value);
>>>
>>> Then, the action redirects to a page where there is a select tag like :
>>> <s:select name="xxx" list="#session.sessionValue" />
>>>
>>> If I start the application, the first time I call the page I have the
>>> following error :
>>> org.apache.jasper.JasperException: tag 'select', field 'list', name
>>> 'xxx': The requested list key '#session.sessionValue' could not be
>>> resolved as a collection/array/map/enumeration/iterator type. Example:
>>> people or people.{name} - [unknown location]
>>>
>>> On the second call, it works. Note : I am using a specific
>>> interceptors stack, so the problem could come from there, even if I
>>> doubt.
>>>
>>> Do you have any idea about where the problem can come from ?
>>>
>>> Thanks,
>>>
>>> Cimballi
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>> For additional commands, e-mail: user-help@struts.apache.org
>>>
>>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>

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


Mime
View raw message