struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Baubak Gandomi" <b.gand...@castsoftware.com>
Subject RE: Asynchronous Display of Action Results
Date Mon, 11 Jul 2011 20:51:52 GMT
Thanks I'll test your solution, and see how it works.

-----Original Message-----
From: Wes Wannemacher [mailto:wesw@wantii.com] 
Sent: lundi 11 juillet 2011 16:52
To: Struts Users Mailing List
Subject: Re: Asynchronous Display of Action Results

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.gandomi@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-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Mime
View raw message