struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Talbut <Jim.Tal...@groupgti.com>
Subject RE: JSON Property
Date Thu, 06 Jan 2011 14:19:40 GMT
Ah, sort of.
Actually WW-3554 stopped me working that one out :)

Now I've moved the JsonPlugin.tld to my own WEB-INF I can make it work, but not using the
syntax you used.

If I have:
<%@taglib prefix="json" uri="/struts-json-tags" %>
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<c:out value="${json:serialize(orderLines)}"/>

I get: PWC6236: According to TLD or attribute directive in tag file, attribute value does
not accept any expressions

But if I just put ${json:serialize(orderLines)} on its own it does output the JSON.

I'm new to JSTL, do I have to do something in order to use an OGNL-based expression with c:out?


Thanks

Jim

-----Original Message-----
From: Maurizio Cucchiara [mailto:maurizio.cucchiara@gmail.com] 
Sent: 05 January 2011 19:23
To: Struts Users Mailing List
Subject: Re: JSON Property

Did this answer your question?
https://issues.apache.org/jira/browse/WW-3553

2011/1/5 Chris Pratt <thechrispratt@gmail.com>:
> 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
>> >
>> >
>>
>



-- 
Maurizio Cucchiara

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