struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Frans Thamura <fr...@meruvian.org>
Subject Re: how to write json/xml output using struts 2 and rest + convention plugin
Date Fri, 05 Oct 2012 16:45:13 GMT
hi all esp jane

let me summarize all our work here.

1. S2 REST Plugins

we modify the default S2 REST Plugin, so we dont need SMD anymore,
just use @Action and @Resut with type, and you can get full REST ,
PUT, GET, DELETE, POST.

@Action(name = "/list", method = HttpMethod.GET) -> for REST GET

take a look the plugins.

http://java.net/projects/s2restplugins/pages/Home

2. Yama
We use S2 + REST plugin (no. 1 above), and use Spring + Hibernate, call it Yama.

http://yama.java.net/

this is a project template to start create a CRUD using S2 with REST
approach, output can JSON or XML.

see my yama run on Azure. http://yama7.cloudapp.net/yama/

and our yama-showcase also in the SVN, and this is the demo. run on
Stackato (OpenSTack and Cloud Foundry integration ).
http://yama-showcases.atisicloud.net/home

user admin, password admin.

the key in yama, is DefaultPersistance and several "aware" , take a
look inside Spring Context to understand it.

3. Nurdoo
We create nurdoo , as a real case implementation using yama.


all opensourced under Apache license. enjoy. we create a lot of apps
based on yama.


--
Frans Thamura (曽志胜)
Shadow Master and Lead Investor
Meruvian.
Integrated Hypermedia Java Solution Provider.

Mobile: +628557888699
Blog: http://blogs.mervpolis.com/roller/flatburger (id)

FB: http://www.facebook.com/meruvian
TW: http://www.twitter.com/meruvian / @meruvian
Website: http://www.meruvian.org

"We grow because we share the same belief."


On Fri, Oct 5, 2012 at 9:19 PM, Frans Thamura <frans@meruvian.org> wrote:
> jane
>
> the way our rest model is not using smd which you can get in s2 default rest
> plugins
>
> please visit our s2restplugins.java.net
>
> may be this plugins and small wiki can explain more.
>
> the category has extended from default persistanc. you must see the spring
> injection that handle this
>
> Frans Thamura
> Meruvian
>
> On Oct 5, 2012 9:13 PM, "Jane Wayne" <jane.wayne2978@gmail.com> wrote:
>>
>> frans,
>>
>> i'm looking at
>> http://java.net/projects/nurdoo/sources/nurdoo-web-svn/content/trunk/src/main/java/org/nurdoo/prayers/actions/CategoryAction.java?rev=3.
>>
>> could you please point me specifically to how you guys output JSON/XML
>> back to the client?
>>
>> let me see if i got this right. you guys use s2 + rest + convention to
>> accomplish the restful features. then, you guys used freemarker to
>> output content? where's the code/ability to swap between JSON/XML for
>> output?
>>
>> On Fri, Oct 5, 2012 at 8:22 AM, Frans Thamura <frans@meruvian.org> wrote:
>> > hi jane
>> >
>> > all our apps using s2 with rest and json.
>> >
>> > see our example.at www.nurdoo.org
>> >
>> > source in nurdoo.java.net
>> >
>> > Frans Thamura
>> > Meruvian
>> > On Oct 5, 2012 7:11 PM, "Jane Wayne" <jane.wayne2978@gmail.com> wrote:
>> >
>> >> not really/entirely what i'm looking for. the struts2-json-plugin
>> >> supports json. but what about xml? i need the flexibility to alter
>> >> between the two for the client/consumer of the rest services.
>> >>
>> >> On Thu, Oct 4, 2012 at 7:41 PM, Ken McWilliams
>> >> <ken.mcwilliams@gmail.com>
>> >> wrote:
>> >> > I'm not familiar with this application but simply look at the
>> >> > documentation for the struts2-json-plugin, you can specify a json
>> >> > result and you can specify include and exclude parameters (so you
>> >> > just
>> >> > return the part(s) of your Action you want). In this way you could
>> >> > define a new map, put a key of "results" with a value of "New order
>> >> > created successfully" and return it quite easily. If the struts2
>> >> > document is insufficient there are plenty of examples also on
>> >> > StackOverflow, so take a look there too (Including many annotation
>> >> > based examples).
>> >> >
>> >> > On Thu, Oct 4, 2012 at 4:21 PM, Jane Wayne <jane.wayne2978@gmail.com>
>> >> wrote:
>> >> >> i've downloaded the demo apps for struts 2 v2.3.5 SNAPSHOT for
>> >> >> today.
>> >> >> i am trying to understand and study the rest struts2-rest-showcase
>> >> >> webapp.
>> >> >>
>> >> >> in the rest showcase, the OrdersController class has the following
>> >> method.
>> >> >>
>> >> >> public String editNew() {
>> >> >>  model = new Order();
>> >> >>  return "editNew";
>> >> >> }
>> >> >>
>> >> >> the user is taken to orders-editNew.jsp. on this page, the form
>> >> >> posts
>> >> >> to: action="%{#request.contextPath}/orders". the action to handle
>> >> >> this
>> >> >> form is as follows.
>> >> >>
>> >> >> public HttpHeaders create() {
>> >> >>  ordersService.save(model);
>> >> >>  addActionMessage("New order created successfully");
>> >> >>  return new
>> >> >> DefaultHttpHeaders("success").setLocationId(model.getId());
>> >> >> }
>> >> >>
>> >> >> at this point, the user is taken to orders-index.jsp. however,
i do
>> >> >> not want to take the user to this page. i instead want to write
a
>> >> >> JSON/XML message back saying something (just like the action
>> >> >> message)
>> >> >> to indicate success/failure. how do i do this?
>> >> >>
>> >> >> i imagine my client application posting data to: /orders/new
>> >> >> and then receiving some JSON message:
>> >> >> { "results" : "New order created successfully" }
>> >> >>
>> >> >> any help is appreciated.
>> >> >>
>> >> >>
>> >> >> ---------------------------------------------------------------------
>> >> >> 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
>> >> >
>> >>
>> >> ---------------------------------------------------------------------
>> >> 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
>>
>

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


Mime
View raw message