Thanks Nestor, this looks interesting. What would the JSP that used this
action look like? Is any special config required in the struts.xml?
nestorjb 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">
>
> </create>
> <convert converter="bean"
> match="org.directwebremoting.webwork.ActionDefinition">
>
> </convert>
> <convert converter="bean" match="MyAction">
>
> </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:[email protected]]
> Enviado el: Friday, February 13, 2009 12:13 PM
> Para: [email protected]
> 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: [email protected]
> For additional commands, e-mail: [email protected]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
>
--
View this message in context:
http://www.nabble.com/AJAX-with-DWR-but-without-DOJO--tp22000168p22005041.html
Sent from the Struts - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]