Maybe using application-scope objects instead of session-scope objects?

The menu in my app is an application scope object whereas its navigation its a session-scope so every user has its own experience.

Best regards.

Raul.


[EMAIL PROTECTED] wrote:
Hi !

I just started  to learn the Tapestry-Framework and to check if it will
meet my requirements.

After generating some pages and components I decided to implement a
'simple' menu-system with linked menu-components for site-navigation.

But I ran in some serious trouble finding a place to store the menu-state.
Every menu-component has to know the active item of the menu-group it
belongs to.

When clicking an item on the menu a listener ist fired getting the now
active item as a parameter via DirectLink and informing all menus in the
group that the active item has changed.

But: where to store this information ? Once a user clicked another link on
the page, the 'DirectLink-url' with the parameter is gone :(

First try was the Visit-object. OK, works well .. for just one session from
a computer. Having cookies enabled and opening a new browser-tab in firefox
will produce some amazing  results when using both tabs to navigate and
clicking the 'refresh'-button of the browser. Tab 'A' uses the menu-state
of tab 'B' :(

The application-state is 'mixed' because of the duplicate session-id.

Ok, so I disabled cookies - and running in the same problem very fast:
ctrl-clicking a link in the application opens a new tab in firefox (a
real-world-problem :) ) ... with the same jsessionID passed by the
DirectLink-component :(

Hmmm ... I am to new to Tapestry to find a solution for this :(

In an old-fashioned application I would encode the state permanently into
the url as a query-parameter. So every single page can get the menu-state
out of the url - and my problem would be solved.

But I am sure, there are better ways to do so in Tapestry (3.0.3) ?

Using a <property-specification> in the form/page doesn't work, too - this
property is stored in the HttpSession also :(

Would be great to get some feedback on this 'problem'. Maybe the solution
is very easy - but I can't find any information about it ..

Thank you in advance !

Bye,
Gerald




---------------------------------------------------------------------
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]

Reply via email to