That's pretty neat.

musachy

On Fri, Feb 13, 2009 at 2:02 PM, Néstor Boscán <nesto...@gmail.com> wrote:
> I basically created a DWRAction class based on the one that WebWorks used
> and I use it extensively on my Struts 2 applications:
>
> import com.opensymphony.xwork2.ActionProxy;
>
> import com.opensymphony.xwork2.ActionProxyFactory;
>
> import java.util.Map;
> import javax.servlet.ServletContext;
> import javax.servlet.http.HttpServletRequest;
> import javax.servlet.http.HttpServletResponse;
> import org.apache.log4j.Logger;
> import org.apache.struts2.dispatcher.Dispatcher;
> import org.apache.struts2.dispatcher.mapper.ActionMapping;
> import org.directwebremoting.webwork.ActionDefinition;
>
> public class DWRAction {
>  private static final Logger log = Logger.getLogger (DWRAction.class);
>
>  public static Object execute (ActionDefinition actionDefinition, Map
> params, HttpServletRequest request, HttpServletResponse response,
> ServletContext servletContext) throws Exception {
>    ActionMapping             mapping;
>    Dispatcher                dispatcher;
>    Map                       context;
>    ActionProxy               proxy;
>
>    try {
>      dispatcher = Dispatcher.getInstance ();
>      mapping    = new ActionMapping (actionDefinition.getAction(),
> actionDefinition.getNamespace(), actionDefinition.getMethod(), params);
>      context    = dispatcher.createContextMap (request, response, mapping,
> servletContext);
>
>      proxy      = ((ActionProxyFactory) dispatcher.getContainer
> ().getInstance (ActionProxyFactory.class)).createActionProxy
> (actionDefinition.getNamespace (), actionDefinition.getAction (), context,
> false, false);
>      proxy.setMethod (actionDefinition.getMethod ());
>      proxy.execute   ();
>
>      return (proxy.getAction ());
>    }
>    catch (Exception e) {
>      log.error ("Cannot invoke action '" + actionDefinition.getAction() +
> "' in namespace '" + actionDefinition.getNamespace() + "'", e);
>      throw e;
>    }
>  }
> }
>
> You must configure this class and ActionDefinition in you dwr.xml file and
> any Actions you wish to invoke
>
>        <create creator="none" javascript="DWRAction">
>            <param name="class"
> value="ve.com.movilnet.rtb.vista.dwr.DWRAction"/>
>        </create>
>        <convert converter="bean"
> match="org.directwebremoting.webwork.ActionDefinition">
>            <param name="include"
> value="namespace,action,method,executeResult"/>
>        </convert>
>        <convert converter="bean" match="MyAction">
>            <param name="include"
>                   value="fieldErrors, actionErrors "/>
>        </convert>
>
> Also is important that the Struts 2 Filter applies to the URL /dwr/*.
>
> So with this code you can invoke any Action in your application, and return
> information from that Action. The validation framework will work here too,
> returning any validation errors in the fieldErrors attribute before reaching
> the action method. You can put validations in the validation framework or
> you're validation method, or you can do AJAX invocations to retrieve data.
>
> Regards,
>
> Néstor Boscán
>
> -----Mensaje original-----
> De: lllewell [mailto:laura.llewel...@gfs.com]
> Enviado el: Friday, February 13, 2009 12:13 PM
> Para: user@struts.apache.org
> Asunto: AJAX with DWR but without DOJO?
>
>
> Greetings all -
>
> I inherited a struts2 webapp that is using the "simple" theme all the way
> through.  I'd like to add some Ajax validation to one of the pages using
> DWR.  I'm interested in doing this without DOJO (theme="ajax").
>
> I see an example of how to do Prototype validation without DOJO here:
> http://struts.apache.org/2.1.6/docs/ajax-validation.html .  I can use that
> as a basis, but I'm wondering if anyone has done something similar using DWR
> that you would be willing to share, or links to other reference materials
> that would help me out.  I have googled this extensively and haven't had
> much luck.
>
> I'm planning to use Struts 2.1.6 and DWR 2.0.x (since DWR 3 isn't ready for
> prime time yet).
>
> Thanks in advance!
> Laura
>
>
> --
> View this message in context:
> http://www.nabble.com/AJAX-with-DWR-but-without-DOJO--tp22000168p22000168.ht
> ml
> Sent from the Struts - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
>
>



-- 
"Hey you! Would you help me to carry the stone?" Pink Floyd

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

Reply via email to