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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...