struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Pratt <thechrispr...@gmail.com>
Subject Re: JSON Property
Date Wed, 05 Jan 2011 16:36:49 GMT
I'm not sure how to make it work, but it would totally rock if we could make
the "encode" attribute of the <s:property> tag extensible by plug-in's.
That way the standard tag could possibly supply encode="html" & encode="js"
and the JSON plug-in could add encode="json" and other plug-ins could extend
it in ways they need.  Just a wild thought.
  (*Chris*)

On Wed, Jan 5, 2011 at 1:22 AM, Steven Yang <kenshin520@gmail.com> wrote:

> I think its "bundled" with S2 but as a separate jar, so dont get mistaken.
>
> i am a bit reluctant to share my code, which is old and bad, not that
> because i am cheap or anything, its because there are better and
> well-thought code out there (as in JSON plug in) and my code has lots of
> things tied to my project (bad design......).
>
> and you know what i just checked back on my tag code. I dont think i am
> doing anything much different from what your doing. I siimply copied the
> s:property tag code and replaced the output part of the code.
>
> here is the part i replaced.....(my tag mimics the "property" tag)
> try {
>            if (actualValue != null) {
>                if (!(actualValue instanceof String)) { //if String then
> treated its as if in JSON format
>                    actualValue = JSONUtil.toJSON(actualValue);
>                }
>                writer.write(actualValue.toString());
>            }
>            else if (defaultValue != null) {
>                writer.write(defaultValue);
>            }
>        }
>        catch (IOException e) {
>            LoggerUtil.BASE_LOGGER.info("error ocurred while writing json:
> "
> + actualValue, e);
>         }
>
> On Wed, Jan 5, 2011 at 4:59 PM, Maurizio Cucchiara <
> maurizio.cucchiara@gmail.com> wrote:
>
> > The json plugin is bundled with S2, because previously was on google
> > code, and one had to download separately
> >
> > 2011/1/5 Jim Talbut <Jim.Talbut@groupgti.com>:
> > > You are both right.
> > >
> > > The tag that I'm using at the moment (which isn't fully tested at all,
> > got some data issues to sort out first) is just the property tag with the
> > following modification:
> > >        Object objectValue = getStack().findValue(value,
> > throwExceptionOnELFailure);
> > >        try {
> > >            actualValue = JSONUtil.serialize( objectValue );
> > >        } catch( JSONException ex ) {
> > >            LOG.error("Could not convert {} to a JSON serialized value:
> > {}", objectValue, ex);
> > >        }
> > >
> > > Given that I'm using a utility function from the JSON plugin it does
> seem
> > to make sense to have that plugin provide this tag.
> > >
> > > I've filed a feature request against it (
> > https://issues.apache.org/jira/browse/WW-3553), but it doesn't seem to
> be
> > a very active project.
> > > I'm also confused by the fact that this page
> > https://cwiki.apache.org/S2PLUGINS/json-plugin.html says that the plugin
> > is bundled with Struts, although the JSONUtil class is not in
> struts-core.
> > >
> > > Steven, if you have a more complete and tested tag could you be
> persuaded
> > to add it to the plugin, or just add what you've got to the bug?
> > >
> > > Jim
> > >
> > >
> > > -----Original Message-----
> > > From: Chris Pratt [mailto:thechrispratt@gmail.com]
> > > Sent: 05 January 2011 02:32
> > > To: Struts Users Mailing List
> > > Subject: Re: JSON Property
> > >
> > > The plugin has several things it can do, from parsing JSON to
> generating
> > > JSON results.  And yes, the default is to JSON up the whole Action, but
> > you
> > > can have it objectify any object you want.  And it is the collection
> > point
> > > for JSON support in Struts 2.
> > >  (*Chris*)
> > >
> > > On Tue, Jan 4, 2011 at 6:12 PM, Steven Yang <kenshin520@gmail.com>
> > wrote:
> > >
> > >> I might be wrong here. As I remember JSON Plugin turns the whole
> action
> > >> into
> > >> one single JSON object. I dont believe its what Jim wants, but most
> > >> definitely there must be something Jim can use in the Plugin to
> > transform
> > >> his Java Objects to JSON.
> > >>
> > >> On Wed, Jan 5, 2011 at 2:47 AM, Chris Pratt <thechrispratt@gmail.com>
> > >> wrote:
> > >>
> > >> > The "obvious" place to me would seem to be the Struts 2 JSON
> Plug-in,
> > >> since
> > >> > it handles all the other JSON duties for Struts 2.
> > >> >   (*Chris*)
> > >> >
> > >> > On Tue, Jan 4, 2011 at 10:32 AM, Jim Talbut <
> Jim.Talbut@groupgti.com>
> > >> > wrote:
> > >> >
> > >> > > I could do that (as Aaron Brown suggested on Monday) but I don't
> > >> already
> > >> > > have actions that spit out the right JSON.
> > >> > > Creating more actions would be more work than creating JSON
> getters.
> > >> > > Creating either actions or special getters also seems wrong to
me
> -
> > >> it's
> > >> > > the JSP that needs JSON and it should only be the JSP that knows
> > that
> > >> it
> > >> > > needs JSON.
> > >> > > Obviously if one is dealing with AJAX one has no choice but to
> have
> > >> JSON
> > >> > > actions, but I'm not.
> > >> > >
> > >> > > I've now written a JSON tag, but given that Steven Yang and I
have
> > now
> > >> > > written something to do the same job it seems to me that there
> ought
> > to
> > >> > be
> > >> > > some common entity for providing it (i.e. I think it should be
in
> > >> > > struts-json-tags).
> > >> > >
> > >> > > Jim
> > >> > >
> > >> > > -----Original Message-----
> > >> > > From: Chris Pratt [mailto:thechrispratt@gmail.com]
> > >> > > Sent: 04 January 2011 15:54
> > >> > > To: Struts Users Mailing List
> > >> > > Subject: Re: JSON Property
> > >> > >
> > >> > > You might also need the executeResult="true" attribute on the
> > >> <s:action>
> > >> > > tag.
> > >> > >  (*Chris*)
> > >> > >
> > >> > > On Tue, Jan 4, 2011 at 7:06 AM, Biesbrock, Kevin
> > >> > > <Biesbrock.Kevin@aoins.com>wrote:
> > >> > >
> > >> > > > > I don't want to use a separate roundtrip for loading
the
> jqGrid
> > for
> > >> > > > two reasons:
> > >> > > > > 1. I want to handle the contents of the grid, and additional
> > >> fields,
> > >> > > > in a single transaction.
> > >> > > > > 2. It's inefficient and unnecessary.
> > >> > > > > Obviously the first is the more important :)
> > >> > > >
> > >> > > >
> > >> > > > I think you could do something like this in your jsp:
> > >> > > >
> > >> > > > <input type="hidden" name="jgrid-json-data" value="<s:action
> > >> > > > name="myJsonAction" namespace="/json"/>"/>
> > >> > > >
> > >> > > > This would allow you to use the already-in-place json result
> type
> > and
> > >> > > > save you a lot of extra work.
> > >> > > >
> > >> > > >
> > >> > > > -Beez
> > >> > > >
> > >> > > >
> > >> > > >
> > ---------------------------------------------------------------------
> > >> > > > 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
> > >
> > >
> >
> >
> >
> > --
> > Maurizio Cucchiara
> >
> > ---------------------------------------------------------------------
> > 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