Re: Problem with JSON Result and Form Submit

2009-02-09 Thread Musachy Barroso
So you have a page that has a form, and that submits to an action that
returns JSON? What is the message that you are talking about? Posting
a section of the JSP would also help.

musachy

On Mon, Feb 9, 2009 at 2:31 PM, Christer Gjerstad
christer.gjers...@gmail.com wrote:

 Hello everyone,

 Anyone know how to pass post message information from an action containing a
 form to an action returning JSON result via an JSP page with a DOJO script
 calling the JSON result action? Please see example below. I am loosing the
 post message on the way. One solution could be to get the post message
 parameters from the value stack and then pass them into the DOJO script, but
 this sounds like a non-Struts way to me.

 In the book Practical Apache Struts2 Web 2.0 projects written by Ian
 Roughley (Great book by the way!), chapter 10, there is an example without
 passing information into the action. I have based my solution on this
 example but cannot get it to work properly.


 package name=products namespace=/products extends=struts-default

!-- ProductSearch Action --
action name=productSearch
 class=com.demand.product.ProductSearch
result/jsp/product/productSearch.jsp/result
/action

!-- ProductSearchResult Action --
action name=productSearchResult
 class=com.demand.product.BaseProductAction
result name=input/jsp/product/productSearch.jsp/result

result/jsp/product/productSearchJsonResult.jsp/result
/action

 /package

 package name=jsonProducts namespace=/json/products
 extends=json-default
default-interceptor-ref name=json/
action name=productsJsonResult
 class=com.demand.product.ProductSearchResults
result type=json
param name=rootproducts/param
/result
/action

 /package


 Cheers!

 - Christer Gjerstad






-- 
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



Re: Problem with JSON Result and Form Submit

2009-02-09 Thread Musachy Barroso
Ok, so the Dojo script needs to pass some data to the action, and that
data is the one that comes from the first request right?

musachy

On Mon, Feb 9, 2009 at 2:54 PM, Christer Gjerstad
christer.gjers...@gmail.com wrote:

 Almost. I have a page that has a form, and that submits (Post method) to a
 an action that has JSP page as result containing a DOJO script calling an
 action that returns a JSON result.

 It is a search form where the user provides information and the result shall
 be presented on another page. But I want JSON result back so that I can
 handle the search result with Ajax using Dojo. E.g. removing results based
 on filtering done by the user.

 Cheers!

 -Christer!



 -Opprinnelig melding-
 Fra: Musachy Barroso [mailto:musa...@gmail.com]
 Sendt: 9. februar 2009 20:44
 Til: Struts Users Mailing List
 Emne: Re: Problem with JSON Result and Form Submit

 So you have a page that has a form, and that submits to an action that
 returns JSON? What is the message that you are talking about? Posting a
 section of the JSP would also help.

 musachy

 On Mon, Feb 9, 2009 at 2:31 PM, Christer Gjerstad
 christer.gjers...@gmail.com wrote:

 Hello everyone,

 Anyone know how to pass post message information from an action
 containing a form to an action returning JSON result via an JSP page
 with a DOJO script calling the JSON result action? Please see example
 below. I am loosing the post message on the way. One solution could be
 to get the post message parameters from the value stack and then pass
 them into the DOJO script, but this sounds like a non-Struts way to me.

 In the book Practical Apache Struts2 Web 2.0 projects written by Ian
 Roughley (Great book by the way!), chapter 10, there is an example
 without passing information into the action. I have based my solution
 on this example but cannot get it to work properly.


 package name=products namespace=/products
 extends=struts-default

!-- ProductSearch Action --
action name=productSearch
 class=com.demand.product.ProductSearch
result/jsp/product/productSearch.jsp/result
/action

!-- ProductSearchResult Action --
action name=productSearchResult
 class=com.demand.product.BaseProductAction
result
 name=input/jsp/product/productSearch.jsp/result

result/jsp/product/productSearchJsonResult.jsp/result
/action

 /package

 package name=jsonProducts namespace=/json/products
 extends=json-default
default-interceptor-ref name=json/
action name=productsJsonResult
 class=com.demand.product.ProductSearchResults
result type=json
param name=rootproducts/param
/result
/action

 /package


 Cheers!

 - Christer Gjerstad






 --
 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


 -
 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



Re: Problem with JSON Result and Form Submit

2009-02-09 Thread Musachy Barroso
There are a lots of different ways of doing that. What I would do is:

1. add a field for the first action wit getters and setters for the params
2. in the jsp do something like:
script
var param1 = s:property value=''param1'  escapeJavaScript='true'/;
var param2 = s:property value=''param2'  escapeJavaScript='true'/;
/script
3. Call the second action passing the params to Dojo like:
{ 'param1': param1, 'param2' : param2}

Dojo accepts  a map that it serializes into a query string (if it is
GET request). I forgot the dojo method signatures, google it up :).
This way you can avoid building the query string yourself, which is
always error prone.

musachy


On Mon, Feb 9, 2009 at 3:15 PM, Christer Gjerstad
christer.gjers...@gmail.com wrote:

 Yes, correct. :-)

 So my question is; is that the way to do it? With the Dojo script that is,
 passing the data into the action? Will not the params interceptor handle
 this?

 What I've done so far is to make another action class implementing the
 ParameterAware interface so that I will get the incoming parameters. I then
 create and return a querystring and get this from the value stack in the
 page containing the Dojo script. I can then (hopefully) pass the information
 retrieved into the action returning the JSON result. This I will do with
 dojo.xhrPost and set the optional postData. Not solved this at the moment,
 but working on it.

 Seems like my solution is not that trivial so I would appreciate any help in
 this matter! :-)

 Cheers!

 -Christer!


 -Opprinnelig melding-
 Fra: Musachy Barroso [mailto:musa...@gmail.com]
 Sendt: 9. februar 2009 20:59
 Til: Struts Users Mailing List
 Emne: Re: Problem with JSON Result and Form Submit

 Ok, so the Dojo script needs to pass some data to the action, and that data
 is the one that comes from the first request right?

 musachy

 On Mon, Feb 9, 2009 at 2:54 PM, Christer Gjerstad
 christer.gjers...@gmail.com wrote:

 Almost. I have a page that has a form, and that submits (Post method)
 to a an action that has JSP page as result containing a DOJO script
 calling an action that returns a JSON result.

 It is a search form where the user provides information and the result
 shall be presented on another page. But I want JSON result back so
 that I can handle the search result with Ajax using Dojo. E.g.
 removing results based on filtering done by the user.

 Cheers!

 -Christer!



 -Opprinnelig melding-
 Fra: Musachy Barroso [mailto:musa...@gmail.com]
 Sendt: 9. februar 2009 20:44
 Til: Struts Users Mailing List
 Emne: Re: Problem with JSON Result and Form Submit

 So you have a page that has a form, and that submits to an action that
 returns JSON? What is the message that you are talking about? Posting
 a section of the JSP would also help.

 musachy

 On Mon, Feb 9, 2009 at 2:31 PM, Christer Gjerstad
 christer.gjers...@gmail.com wrote:

 Hello everyone,

 Anyone know how to pass post message information from an action
 containing a form to an action returning JSON result via an JSP page
 with a DOJO script calling the JSON result action? Please see example
 below. I am loosing the post message on the way. One solution could
 be to get the post message parameters from the value stack and then
 pass them into the DOJO script, but this sounds like a non-Struts way to
 me.

 In the book Practical Apache Struts2 Web 2.0 projects written by
 Ian Roughley (Great book by the way!), chapter 10, there is an
 example without passing information into the action. I have based my
 solution on this example but cannot get it to work properly.


 package name=products namespace=/products
 extends=struts-default

!-- ProductSearch Action --
action name=productSearch
 class=com.demand.product.ProductSearch
result/jsp/product/productSearch.jsp/result
/action

!-- ProductSearchResult Action --
action name=productSearchResult
 class=com.demand.product.BaseProductAction
result
 name=input/jsp/product/productSearch.jsp/result

result/jsp/product/productSearchJsonResult.jsp/result
/action

 /package

 package name=jsonProducts namespace=/json/products
 extends=json-default
default-interceptor-ref name=json/
action name=productsJsonResult
 class=com.demand.product.ProductSearchResults
result type=json
param name=rootproducts/param
/result
/action

 /package


 Cheers!

 - Christer Gjerstad






 --
 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


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





 --
 Hey

Re: Problem with JSON Result and Form Submit

2009-02-09 Thread Musachy Barroso
I forgot to say, escapeJavaScript is available on 2.1 only. If you are
using 2.0, there is a similar method (actually the original one) in
commons lang StringEscapeUtils.

musachy

On Mon, Feb 9, 2009 at 3:33 PM, Christer Gjerstad
christer.gjers...@gmail.com wrote:

 Great!

 This sounds better than what I have done so far! I will try that ASAP.

 Thank you very much!

 Kind regards

 Christer!



 -Opprinnelig melding-
 Fra: Musachy Barroso [mailto:musa...@gmail.com]
 Sendt: 9. februar 2009 21:25
 Til: Struts Users Mailing List
 Emne: Re: Problem with JSON Result and Form Submit

 There are a lots of different ways of doing that. What I would do is:

 1. add a field for the first action wit getters and setters for the params
 2. in the jsp do something like:
 script
 var param1 = s:property value=''param1'  escapeJavaScript='true'/; var
 param2 = s:property value=''param2'  escapeJavaScript='true'/; /script
 3. Call the second action passing the params to Dojo like:
 { 'param1': param1, 'param2' : param2}

 Dojo accepts  a map that it serializes into a query string (if it is GET
 request). I forgot the dojo method signatures, google it up :).
 This way you can avoid building the query string yourself, which is always
 error prone.

 musachy


 On Mon, Feb 9, 2009 at 3:15 PM, Christer Gjerstad
 christer.gjers...@gmail.com wrote:

 Yes, correct. :-)

 So my question is; is that the way to do it? With the Dojo script that
 is, passing the data into the action? Will not the params interceptor
 handle this?

 What I've done so far is to make another action class implementing the
 ParameterAware interface so that I will get the incoming parameters. I
 then create and return a querystring and get this from the value stack
 in the page containing the Dojo script. I can then (hopefully) pass
 the information retrieved into the action returning the JSON result.
 This I will do with dojo.xhrPost and set the optional postData. Not
 solved this at the moment, but working on it.

 Seems like my solution is not that trivial so I would appreciate any
 help in this matter! :-)

 Cheers!

 -Christer!


 -Opprinnelig melding-
 Fra: Musachy Barroso [mailto:musa...@gmail.com]
 Sendt: 9. februar 2009 20:59
 Til: Struts Users Mailing List
 Emne: Re: Problem with JSON Result and Form Submit

 Ok, so the Dojo script needs to pass some data to the action, and that
 data is the one that comes from the first request right?

 musachy

 On Mon, Feb 9, 2009 at 2:54 PM, Christer Gjerstad
 christer.gjers...@gmail.com wrote:

 Almost. I have a page that has a form, and that submits (Post method)
 to a an action that has JSP page as result containing a DOJO script
 calling an action that returns a JSON result.

 It is a search form where the user provides information and the
 result shall be presented on another page. But I want JSON result
 back so that I can handle the search result with Ajax using Dojo. E.g.
 removing results based on filtering done by the user.

 Cheers!

 -Christer!



 -Opprinnelig melding-
 Fra: Musachy Barroso [mailto:musa...@gmail.com]
 Sendt: 9. februar 2009 20:44
 Til: Struts Users Mailing List
 Emne: Re: Problem with JSON Result and Form Submit

 So you have a page that has a form, and that submits to an action
 that returns JSON? What is the message that you are talking about?
 Posting a section of the JSP would also help.

 musachy

 On Mon, Feb 9, 2009 at 2:31 PM, Christer Gjerstad
 christer.gjers...@gmail.com wrote:

 Hello everyone,

 Anyone know how to pass post message information from an action
 containing a form to an action returning JSON result via an JSP page
 with a DOJO script calling the JSON result action? Please see
 example below. I am loosing the post message on the way. One
 solution could be to get the post message parameters from the value
 stack and then pass them into the DOJO script, but this sounds like
 a non-Struts way to
 me.

 In the book Practical Apache Struts2 Web 2.0 projects written by
 Ian Roughley (Great book by the way!), chapter 10, there is an
 example without passing information into the action. I have based my
 solution on this example but cannot get it to work properly.


 package name=products namespace=/products
 extends=struts-default

!-- ProductSearch Action --
action name=productSearch
 class=com.demand.product.ProductSearch
result/jsp/product/productSearch.jsp/result
/action

!-- ProductSearchResult Action --
action name=productSearchResult
 class=com.demand.product.BaseProductAction
result
 name=input/jsp/product/productSearch.jsp/result

result/jsp/product/productSearchJsonResult.jsp/result
/action

 /package

 package name=jsonProducts namespace=/json/products
 extends=json-default
default-interceptor-ref name=json/
action name=productsJsonResult
 class=com.demand.product.ProductSearchResults
result type=json