struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From foo bar <linut...@gmail.com>
Subject Re: Struts2 with AngularJS
Date Wed, 19 Nov 2014 10:20:00 GMT
Hi,

Thanks for the prompt reply, I'll have a look at the Struts2 AngularJS
archetype
But I meant AngularJS interceptor (
https://docs.angularjs.org/api/ng/service/$http) which is still client
side, AngularJS interceptor is meant to intercept {name:"abc",address:"abc"}
and change it to {customer:{name:"abc",address:"abc"}}

I'm looking at the source code for the REST plugin, looks like the magic
happens in ContentTypeInterceptor, this gets the payload from http
inputstream then maps it to the action. If I want to use
{name:"abc",address:"abc"},
looks like I have to use @ModelDriven ?

Is it fine to just use REST plugin's ContentTypeInterceptor and the
JsonLibHandler and include them in my web application ?
i.e. are they fairly standalone-ish ? or do they have dependencies with
other components in the REST plugin ?



On Wed, Nov 19, 2014 at 4:59 PM, Lukasz Lenart <lukaszlenart@apache.org>
wrote:

> 2014-11-19 9:51 GMT+01:00 foo bar <linutrix@gmail.com>:
> > Hi guys,
> >
> > I'm currently looking into ease of development of using AngularJS with
> > Struts2.
> > I'm wondering what is the best practice in general
> > ie. AngularJS with $resource or $http, Struts2 with what plugin ?
> > Is the REST + convention plugin a must to support AngularJS's RESTful
> > nature ?
> >
> > I'm currently using Struts2 with no REST plugin and notice that if I do
> > something like this
> >
> > CustomerService.save($scope.newCustomer);
> >
> > In Chrome's Developer tools, Content-Type:application/json;charset=UTF-8
> > and data is a JSON string but it's in the Request Payload
> > Normally it's Content-Type:application/x-www-form-urlencoded and data is
> in
> > Form Data
> >
> > I have
> >
> > private Customer customer;
> >
> > in my Action class and the approriate getter and setter, but they are not
> > called by the framework
> > I understand that I can get the data via http request's inputstream, but
> > then I have to transfer the data to my Customer object manually (I use
> > Gson) and I think that will bypass all my interceptors, especially
> > validation.
> >
> > Did a bit of research on the internet and it seems that using the REST
> > plugin should work, but it needs a bit of modification on the AngularJS
> > part ($http interceptor ?)
> >
> > Struts2 won't populate my Customer object with this (which is normal
> plain
> > AngularJS)
> >
> > {name:"abc",address:"abc"}
> >
> > Have to change to
> >
> > {customer:{name:"abc",address:"abc"}}
>
> Maybe start with Struts AngularJS archetype first? Because it looks
> like I you're mixing things - client side ($http) and server side
> (interceptor)
>
>
> http://struts.apache.org/release/2.3.x/docs/struts-2-maven-archetypes.html#Struts2MavenArchetypes-TheAngularJSArchetype(struts2-archetype-angularjs)
>
>
> Regards
> --
> Ɓukasz
> + 48 606 323 122 http://www.lenart.org.pl/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message