AFAIK the model is pushed onto the stack *in addition* to the action.

I don't know of anywhere in the docs where it states that the action would be
unavailable.

Dave

--- Roberto Nunnari <[EMAIL PROTECTED]> wrote:

> Hi.
> 
> About the ModelDriven interface.. I believe I'd read somewhere
> that when you implement it, your view looses access to the action..
> 
> ..but using it I found out that if the method/property is not
> found in the model, then at some point the action is searched
> for it.. so with that in mind, you can access multiple objects
> from your view.
> 
> But now I doubt that if the doc somewhere says that the action
> will not be accessible when implementing the ModelDriven interface,
> someday updating my webapp to a newer version of S2 I'd meet
> a bad surprise..
> 
> any thoughts here?
> 
> Robi
> 
> 
> Gabriel Belingueres wrote:
> > Well at this point I'm not proposing nothing in particular, just
> > trying to understand the rationale behind this relation between
> > conversation scope and model driven, which is not clear to me why it
> > is designed this way.
> > 
> > I thought that a possible explanation would be to keep the view (JSP)
> > pages unaware of the scope of the variables it uses but honesty I'm
> > not fully convinced of the gain I can achieve with this practice.
> > 
> > I've developed a conversation scope interceptor I'm using in my
> > projects and I don't use modelDriven interface.
> > 
> > ModelDriven interface is (IMHO) uncomfortable because it is designed
> > to return only one object for use in the view, which IMO is
> > unrealistic but in the simplest use cases. In addition, if you want to
> > use several objects in the view, it forces to either create a DTO (not
> > good) to reunite all data or using a Map with domain objects but in
> > either case you end up with something not very different to not using
> > model-driven.
> > 
> > 2008/3/4, Martin Gainty <[EMAIL PROTECTED]>:
> >> Hi Gabriel-
> >>
> >> are your proposing an enhancement to s:head as i think this concept is
> >> already covered by s:head which sets up global attributes?
> >> http://struts.apache.org/2.0.6/docs/head.html
> >>
> >> or a separate "s:conversation" tag ?
> >>
> >> M-
> >> ----- Original Message -----
> >> From: "Gabriel Belingueres" <[EMAIL PROTECTED]>
> >> To: "Struts Users Mailing List" <user@struts.apache.org>
> >> Sent: Tuesday, March 04, 2008 8:00 AM
> >> Subject: Re: Conversation Scope?
> >>
> >>
> >>> Why model-driven? I don't fully get it.
> >>> I've done several S2 apps by now and never fell the time to use the
> >>> model driven interface before (for me this is syntax sugar.)
> >>>
> >>> Now why is this important for supporting conversation scope?
> >>> Is it for not writing code like
> >>> ${conversationsMap[conversationId].myproperty} in the view? it is easy
> >>> to create a tag that inject the conversation into a request-scoped
> >>> variable like this:
> >>> <s:conversation var="myconversation"/>
> >>>
> >>> then use ${myconversation.myproperty}
> >>>
> >>> Gabriel
> >>>
> >>> 2008/2/24, Jeromy Evans <[EMAIL PROTECTED]>:
> >>>> I hadn't noticed this was already part of the 2.1.x core and default
> >> stack:
> >>>>
> http://struts.apache.org/2.x/docs/scoped-model-driven-interceptor.html.
> >>>>
> >>>> I haven't checked the code but it reads the same
> >>>>
> >>>> Ray Clough wrote:
> >>>>> I'm definitely going to have to watch the 'ranting'.   (By the way,
> >>>>> Adam, you have to stop grappling with SWF when you get married.)
> >>>>>
> >>>>> It seems to me that 'ModelDriven' is not much use without
> >>>>> ConversationScope, because you have to manually manage the
> >>>>> model/session interaction in all but the first action in the
> >>>>> conversation.  What I'm talking about with the term
> >>>>> 'ConversationScope' is the need not to have to explicitly store,
> >>>>> check, and remove my model data from the session in each action.
> >>>>> Basically my action always looks like this:
> >>>>>
> >>>>>   1. check session for model.
> >>>>>   2. if found, is model for the current conversation
> >>>>>          * if no delete the model from the session, create new model
> >>>>>            and place in session.
> >>>>>          * if yes place it into the Action's private variable
> >>>>>   3. ...... whatever the action does .......
> >>>>>   4. is the conversation finished?
> >>>>>          * if no, make sure model is in session
> >>>>>          * if yes, remove model from session
> >>>>>
> >>>>> This seems like a pretty straight-forward use case for an
> >>>>> interceptor.  I'm thinking of a small object called
> >>>>> "ConversationScope", which, of course, has to be stored in the
> >>>>> session. The ConversationScope obj contains a map and a method to
> >>>>> return its ConversationId, and methods to add and remove objects from
> >>>>> its map.  The interceptor could  do to the ConversationScope the
> >>>>> actions which the Action currently does, as delineated above.  It
> >>>>> might be nice to inject the ConversationScope into the action, but  I
> >>>>> don't personally know injection well enough to do that.  A full
> >>>>> solution with injection should have a "ConversationAware" interface
> >>>>> which includes a "ConversationId" attribute.  It might be better to
> >>>>> use annotations rather than an interface declaration.
> >>>>>
> >>>>> I'm just thinking on paper here, but it doesn't seem like any massive
> >>>>> over-architecting is needed.  I personally have almost no experience
> >>>>> with Spring, and every time I touch it everything breaks.  Guice
> >>>>> sounds like a nicer solution, but there is not much tutorial info on
> >> it.
> >>>>> Thanks,
> >>>>> - rc
> >>>>>
> >>>>>
> >>>>> Adam Hardy wrote:
> >>>>>> Is it worth building a mechanism for conversation scope, compared to
> >>>>>> the complexity it introduces? I really dislike Spring Webflow with
> >>>>>> its conversation scope, stringent encapsulation and storage of
> >>>>>> massive amounts of data in various maps that locks away everything
> >>>>>> out of sight and makes it all taste like it's been massively
> >>>>>> over-architected (and of course the practically insurmountable
> >>>>>> learning curve)
> >>>>>>
> >>>>>> Isn't it just easier to clean your variables out of the session
> >>>>>> manually when done? I'm not trying to provoke another rant, it's
> just
> >>>>>> that I've suffered my fair share of pain grappling with SWF and I
> >>>>>> find all justifications of its complexity unwarranted.
> >>>>>>
> >>>>>> Adam
> >>>>>>
> >>>>>> Ray Clough on 24/02/08 02:23, wrote:
> >>>>>>> Thanks Jeromy.  (usually my wife is the only one who notices my
> >>>>>>> 'rants').
> >>>>>>>
> >>>>>>> Jeromy Evans wrote:
> >>>>>>>> Hi Ray,
> >>>>>>>>
> >>>>>>>> I'm not sure, but check out Tom's new scope plugin as it may get
> >>>>>>>> you part of the way there.
> >>>>>>>>
> >>>>>>>> http://cwiki.apache.org/S2PLUGINS/scope-plugin.html
> >>>>>>>>
> >>>>>>>> I was just reading one of your rants from August 07 that mentioned
> >>>>>>>> the need to use ModelDriven's model across a conversation and
> think
> >>>>>>>> this will be useful.
> >>>>>>>>
> >>>>>>>> cheers,
> >>>>>>>> Jeromy Evans
> >>>>>>>>
> >>>>>>>> Ray Clough wrote:
> >>>>>>>>> JSF has a "ConversationScope" for extended series of
> >>>>>>>>> requests/responses
> >>>>>>>>> dealing with the same topic, and usually the same data model. 
> I'm
> >>>>>>>>> thinking
> >>>>>>>>> of writing an interceptor to simulate ConversationScope, and I'm
> >>>>>>>>> wondering
> >>>>>>>>> if this has not already been done, and if so, does anyone have
> >>>>>>>>> details,
> >>>>>>>>> code, etc.
> >>>>>>
> >>>>>>
> ---------------------------------------------------------------------
> >>>>>> 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]
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> 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]
> >>>
> >>>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> 
=== message truncated ===


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to