On 10/12/06, Baker,Jonathan <[EMAIL PROTECTED]> wrote:

I currently have a page with a list of items on it.  For each line,
there is a link to select one of the items.  When an item is selected,
the action method bound to that link fetches the item from a database
and retruns an outcome that has a navigation rule to navigate to a item
detail page.  Based on some values in that item, we would like to
display a message to the user.   I initally added those methods in the
prerender method of the view controller of the item detail page.  It
looks though that prerender in the case described above is not being
called on the view controller of the detail page because at the time of
beforeRenderResponse phase the ViewController for the new page has not
been added to the request scope map.

The ViewController doesn't actually get added to the request map until
the first reference to it is found when parsing the jsp page components
which occurs sometime during the RenderResponse jsf phase.

I must be doing something wrong here, or else the prerender plug point
is essentially useless.  It will get called anytime I take an action
that stays on the current page, but when navigating from one page to
another, it will never get called.

I am using Spring 2.0 for all of my dependency injection, not faces, so
that may also have something to do with it.


No, I think your initial analysis sounds spot on ... it's important that the
navigated-to view controller have been loaded (and therefore added to the
request attributes) before the Render Response phase.  And I can see how it
is easy for this to not happen; hence, the framework needs to make sure it
happens.

Could you please file a bug in our issue tracking system (
http://issues.apache.org/struts) for this?

Any help would be appreciated.  Thanks



JB


Craig

Reply via email to