Don't know if this has been mentioned, but when Angular.js makes XHR
request via $http, it does NOT by default set the header, which Tapestry
checks to do request.isXHR().

See
http://stackoverflow.com/questions/18168836/angularjs-resource-not-sending-x-requested-with

Therefore it appears to be necessary to do the following:

yourModule.config(['$httpProvider', function($httpProvider) {
  $httpProvider.defaults.headers.common["X-Requested-With"] =
'XMLHttpRequest';
}]);

Otherwise event handlers can throw the "JSONObject cannot be handled" type
of exception.


On Wed, Sep 16, 2015 at 4:52 PM, françois facon <fra.fa...@gmail.com> wrote:

> 2015-09-15 0:31 GMT+02:00 Thiago H de Paula Figueiredo <thiag...@gmail.com
> >:
>
> > On Mon, 14 Sep 2015 14:21:46 -0300, Kalle Korhonen <
> > kalle.o.korho...@gmail.com> wrote:
> >
> > React and Ember Fastboot solve the SEO problem by rendering the first
> load
> >> on server, but Angular doesn't offer the same functionality natively.
> >> There's https://prerender.io/ though, but it's another component you
> need
> >> to deploy.
> >>
> >
> > I like the concept of isomorphic webapps: the same JavaScript used in the
> > client-side is used in the server-side for doing an initial rendering.
> >
>
> > The links above demonstrate it for Spring MVC, but I believe it could be
> > very easily done with Tapestry too:
> >
> http://winterbe.com/posts/2015/02/16/isomorphic-react-webapps-on-the-jvm/
> >
> >
> https://speakerdeck.com/sdeleuze/isomorphic-templating-with-spring-boot-nashorn-and-react
> >
> >
> This would be a great feature.
> The link above talk about Angular 2 server side rendering
>
> https://docs.google.com/document/d/1q6g9UlmEZDXgrkY88AJZ6MUrUxcnwhBGS0EXbVlYicY/edit
>
>
>
> >
> >
> >> Kalle
> >>
> >> On Mon, Sep 14, 2015 at 6:20 AM, George Christman <
> >> gchrist...@cardaddy.com>
> >> wrote:
> >>
> >> Very nice Arve, do you have any experience making these angular pages
> SEO
> >>> friendly?
> >>>
> >>> On Sun, Sep 6, 2015 at 11:08 AM, Arve Klev <arvek...@gmail.com> wrote:
> >>>
> >>> >  Hello.
> >>> > Yes it is VERY easy to to use AngularJS (or eg.
> >>> Highchart/Raphael/JChart)
> >>> > with Tapestry 5.4.
> >>> > Use Tapestry as usual and let different pages do what you want (eg.
> one
> >>> > page as an AngularJS SPA).
> >>> > Every page use the same Layout component.
> >>> >
> >>> > 1. Place angular.js in src/main/resources/META-INF/modules/angular.js
> >>> > 2. Create a file
> >>> src/main/resources/META-INF/modules/angular-bootstrap.js
> >>> > that bootstrap angular and your own angular code
> >>> > 3. Create a file
> src/main/resources/META-INF/modules/my-angular-code.js
> >>> > 4. Create a file
> src/main/resources/META-INF/assets/my-angular-code.css
> >>> for
> >>> > decoration
> >>> > 5. Import angular-bootstrap.js and my-angular-code.css in your
> >>> class-file:
> >>> > @Import(module = { "angular-bootstrap" }, stylesheet = {
> >>> > "my-angular-code.css" })
> >>> >
> >>> > I have a running example here: http://tap54-arvek.rhcloud.com
> >>> > The code at GitHub:
> >>> > https://github.com/arvek-xx/tapestry54-javascript-examples
> >>> >
> >>> > In the "NgPhones"-page, I use a rest-service to retrieve data.
> >>> >
> >>> >
> >>> > Sincerely, Arve Klev
> >>> >
> >>> > 2015-08-10 19:59 GMT+02:00 Taha Siddiqi <tawus.tapes...@gmail.com>:
> >>> >
> >>> > > Well my way is to spend sometime on anything I find interesting...
> >>> > > (Usually  Saturday mornings)
> >>> > >
> >>> > > That is how I found tapestry and now Clojure/clojusescript, mongo,
> >>> Titan
> >>> > > graphs etc... So exciting !!
> >>> > >
> >>> > > Sent from my iPhone
> >>> > >
> >>> > > > On Aug 10, 2015, at 9:01 PM, George Christman <
> >>> gchrist...@cardaddy.com
> >>> > >
> >>> > > wrote:
> >>> > > >
> >>> > > > I think the choices these days are starting to become very
> >>> > overwhelming,
> >>> > > I
> >>> > > > wish there was a magic bullet eliminating all these choices. I'd
> >>> like
> >>> > to
> >>> > > > pick a new frontend framework, but with all the advise from the
> >>> > different
> >>> > > > sources, I don't think I know enough anymore to make an educated
> >>> > > decision.
> >>> > > >
> >>> > > > On Sat, Aug 8, 2015 at 5:18 AM, Taha Siddiqi <
> >>> tawus.tapes...@gmail.com
> >>> > >
> >>> > > > wrote:
> >>> > > >
> >>> > > >> For me it is om(or reactjs). I am currently in the process of
> >>> > replacing
> >>> > > >> JavaScript  in one of my JavaScript intense Tapestry project
> with
> >>> > > >> om/ClojureScript.
> >>> > > >>
> >>> > > >> Sent from my iPhone
> >>> > > >>
> >>> > > >>>> On Aug 8, 2015, at 11:41 AM, Kalle Korhonen <
> >>> > > kalle.o.korho...@gmail.com>
> >>> > > >>> wrote:
> >>> > > >>>
> >>> > > >>>> On Fri, Aug 7, 2015 at 3:40 PM, françois facon <
> >>> fra.fa...@gmail.com
> >>> > >
> >>> > > >> wrote:
> >>> > > >>>>
> >>> > > >>>> About Ember, I looking for an equivalent of
> >>> > > >>>> https://docs.angularjs.org/tutorial.
> >>> > > >>>
> >>> > > >>> I haven't found anything quite as comprehensive for Ember. One
> >>> issue
> >>> > > with
> >>> > > >>> Ember is that many of these tutorials are outdated because its
> >>> > changed
> >>> > > so
> >>> > > >>> fast. The official documentation is often too simplistic when
> you
> >>> are
> >>> > > new
> >>> > > >>> to it but trying to build something real. However, this one is
> >>> fairly
> >>> > > >>> up-to-date and helped me quite a bit when I started out:
> >>> > > >>>
> >>> http://www.fnaweso.me/ember-js-nested-routing-with-multiple-outlets/
> >>> > > >>>
> >>> > > >>> At least for me, working with AngularJS feels more like working
> >>> with
> >>> > T5
> >>> > > >>> services and its IoC whereas working with Ember feels more like
> >>> > writing
> >>> > > >> T5
> >>> > > >>> components and I felt right at home with all the Ember
> >>> conventions.
> >>> > And
> >>> > > >>> while it's relatively easy to bootstrap AngularJS to run as
> part
> >>> of
> >>> > T5
> >>> > > >> app,
> >>> > > >>> it really doesn't make sense with all the bits and pieces of
> >>> Ember
> >>> > > >> tooling,
> >>> > > >>> the CLI etc (there was an earlier thread about that and I
> >>> followed
> >>> > > >> Andreas
> >>> > > >>> Andreou's advice). Ember is more comprehensive than AngularJS
> and
> >>> its
> >>> > > >>> router is incredibly useful for mapping out a structure for
> >>> larger
> >>> > > spas.
> >>> > > >>>
> >>> > > >>> Kalle
> >>> > > >>>
> >>> > > >>>
> >>> > > >>>
> >>> > > >>>> 2015-08-07 22:18 GMT+02:00 Kalle Korhonen <
> >>> > kalle.o.korho...@gmail.com
> >>> > > >:
> >>> > > >>>>
> >>> > > >>>>> It's pretty easy. Don't build component event requests but
> just
> >>> > send
> >>> > > >>>>> REST(-like) requests that are either processed by plain
> >>> Tapestry
> >>> > > pages
> >>> > > >>>> and
> >>> > > >>>>> its EventContext. If you are building a more comprehensive
> spa
> >>> then
> >>> > > >>>>> consider pairing the client with JAX-WS resource backend
> (i.e.
> >>> > > >>>>> http://www.tynamo.org/tapestry-resteasy+guide/ for T5).
> >>> > > Incidentally,
> >>> > > >>>> I've
> >>> > > >>>>> been working with spas lately as well, and moved from
> AngularJS
> >>> to
> >>> > > >> Ember.
> >>> > > >>>>>
> >>> > > >>>>> Kalle
> >>> > > >>>>>
> >>> > > >>>>>> On Fri, Aug 7, 2015 at 12:46 PM, Bob Harner <
> >>> bobhar...@gmail.com>
> >>> > > >> wrote:
> >>> > > >>>>>>
> >>> > > >>>>>> Yes a page/event. As long as the URL looks like a tapestry
> >>> event
> >>> > > >>>> request,
> >>> > > >>>>>> you can handle the request in an event handler method within
> >>> the
> >>> > > >> page's
> >>> > > >>>>>> Java class, and return JSON.
> >>> > > >>>>>>
> >>> > > >>>>>> On Fri, Aug 7, 2015 at 2:40 PM, George Christman <
> >>> > > >>>>> gchrist...@cardaddy.com>
> >>> > > >>>>>> wrote:
> >>> > > >>>>>>
> >>> > > >>>>>>> Hi guys, I've been playing around with AngularJS and
> backbone
> >>> > > >>>> recently
> >>> > > >>>>>> and
> >>> > > >>>>>>> I'm wondering if it's pretty easy to use with Tapestry? I'm
> >>> more
> >>> > > >>>>>> concerned
> >>> > > >>>>>>> with ajax events etc. I know in grails you can just point
> >>> your
> >>> > url
> >>> > > >>>> to a
> >>> > > >>>>>>> controller/action, would we do something similar in
> Tapestry,
> >>> but
> >>> > > >>>>>> obviously
> >>> > > >>>>>>> not a controller, but a page / event?
> >>> > > >>
> >>> > > >>
> >>> ---------------------------------------------------------------------
> >>> > > >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> >>> > > >> For additional commands, e-mail: users-h...@tapestry.apache.org
> >>> > > >
> >>> > > >
> >>> > > > --
> >>> > > > George Christman
> >>> > > > CEO
> >>> > > > www.CarDaddy.com
> >>> > > > P.O. Box 735
> >>> > > > Johnstown, New York
> >>> > >
> >>> > >
> ---------------------------------------------------------------------
> >>> > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> >>> > > For additional commands, e-mail: users-h...@tapestry.apache.org
> >>> > >
> >>> > >
> >>> >
> >>>
> >>>
> >>>
> >>> --
> >>> George Christman
> >>> CEO
> >>> www.CarDaddy.com
> >>> P.O. Box 735
> >>> Johnstown, New York
> >>>
> >>>
> >
> > --
> > Thiago H. de Paula Figueiredo
> > Tapestry, Java and Hibernate consultant and developer
> > http://machina.com.br
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> > For additional commands, e-mail: users-h...@tapestry.apache.org
> >
> >
>



-- 
Best Regards
    Harry Zhou

Reply via email to