You can achieve the outcome you desire by using AJAX instead of the s:action tag. Here is an (untested) jquery example -
<div id="remoteAction1"></div> <div id="remoteAction2"></div> <script type="text/javascript> $(document).ready(function() { $("remoteAction1").load("<s:url action="action1" />"); $("remoteAction2").load("<s:url action="action2" />"); }); </script> I'm too lazy at the moment to make sure that the javascript is correct, so if someone notices any glaring errors, please chime in. -Wes On Mon, Jul 11, 2011 at 10:43 AM, Baubak Gandomi <b.gand...@castsoftware.com> wrote: > Hello, > > > > I am not able to find any mention of this topic, or even if it is really > Struts 2-related. > > > > I have a view which calls two actions using <s:action. The methods that > are called in the domain of the actions take different times to execute. > I would like my actions to be run parallel. I.e. Once they are finished > executing, that their results are show the moment they finish. > > > > -------------------Struts.xml > > <package name="ActionTests_Application" extends="struts-default"> > > <action name="start"> > > <result>/WEB-INF/pages/main.jsp</result> > > </action> > > > > <action name="action1" class="action_tld.Main_Class" > method="method1"> > > <result name="success">/WEB-INF/pages/page1.jsp</result> > > </action> > > > > <action name="action2" class="action_tld.Main_Class" > method="method2"> > > <result name="success">/WEB-INF/pages/page2.jsp</result> > > </action> > > > > </package> > > > > > > -------------------action_tld.Main_Class > > public class Main_Class { > > private int delay = 0; > > > > public String method1() { > > setDelay(5000); > > sleeper(); > > return ActionSupport.SUCCESS; > > } > > > > public String method2() { > > setDelay(500); > > sleeper(); > > return ActionSupport.SUCCESS; > > } > > > > > > -------------------main.jsp > > <body> > > waiting...... > > <table> > > <tr> > > > > <td> > > <s:action name="action1" executeResult="true"></s:action> > </td> > > > > <td><s:action name="action2" > executeResult="true"></s:action> </td> > > </tr> > > </table> > > > > -------Page1 & 2 > > Just show a simple text > > > > In the example above method2 takes longer to execute than method1. Today > when I execute start The result of action1 is displayed before action2. > However what I want is that action1 & action2 to be executed > simultaneously, and that the result of action2 is presented first. > > > > This may not be a Struts2 question perse, but if anyone has any leads I > am much obliged. > > > > Best regards, > > > > Baubak > > -- Wes Wannemacher Head Engineer, WanTii, Inc. Need Training? Struts, Spring, Maven, Tomcat... Ask me for a quote! --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org