[jboss-user] [JBoss Seam] - Re: two @datamodel in one sessionbean?

jacob.orshalick do-not-reply at jboss.com
Sun Sep 16 15:22:41 EDT 2007


Okay, I now understand the issue...

I will explain this from my understanding and maybe a member of the Seam team can validate (or invalidate) this.  The use of <s:link>, @DataModel, and @DataModelSelection can get complicated.


  | <s:link value="#{item}" view="/page2.xhtml"/>
  | 

executes a GET request which will not process the INVOKE_APPLICATION phase but will propagate the conversation.  This is similar to the first invocation of a JSF page, but maintains conversation state across the GET request.

By specifying an action, this indicates to Seam that the entire JSF lifecycle should be processed for the GET.  Thus, the INVOKE_APPLICATION phase gets executed.  This is when the @DataModelSelection is populated, explaining why scenario 2 works:


  | <s:link value="#{item}" view="/page2.xhtml" action="#{myObject.select()}"  />
  | 

I believe you will have to invoke an action to retrieve the @DataModelSelection.  To my knowledge, all the examples show it this way...

In regards to multiple actions for one action, why don't you inject any other components into the component being called on and execute actions from that component.  For example, if I have myObject,


  | ...
  | @In
  | SecondObject secondObject;
  | ...
  | public void select() {
  |   // do something
  |   secondObject.function();
  | }
  | ...

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4084834#4084834

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4084834



More information about the jboss-user mailing list