struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Pratt <thechrispr...@gmail.com>
Subject Re: Submit image button sends coordinates
Date Tue, 26 Jul 2011 15:58:05 GMT
I think you're thinking about it backwards.  It doesn't start with the bean,
inspect every property, attempt to find data and convert that data to the
proper format, then inject it into the bean.

It starts with the data on hand (in this case all the GET/POST parameters)
and attempts to find a home for them.  If there is a piece of data without a
home, it gives the developer a warning (in devmode only) to make him/her
aware.  It may be a perfectly acceptable thing to the developer.  There are
definitely cases where data is stored in hidden parameters just for the use
in JavaScript or for other reasons (I tend to avoid these situations, but
they're out there).
  (*Chris*)

On Tue, Jul 26, 2011 at 8:42 AM, Paul Benedict <pbenedict@apache.org> wrote:

> I don't understand that. Perhaps I haven't programmed Struts 2 enough,
> but I thought Struts (1 or 2) only captured what's defined in the
> model and ignores the other request parameters. Is it acting
> differently because of nested properties?
>
> On Tue, Jul 26, 2011 at 9:54 AM, Chris Pratt <thechrispratt@gmail.com>
> wrote:
> > That's exactly what's happening, but it's also warning (in devmode only)
> > when it can't set one so that you, the developer, can make the right
> > decision for your program.
> >  (*Chris*)
> >
> > On Tue, Jul 26, 2011 at 6:50 AM, Paul Benedict <pbenedict@apache.org>
> wrote:
> >
> >> Just a question, if I may :-) Doesn't Struts 2 have the ability to
> >> only set the properties that are defined on the bean?
> >>
> >> On Tue, Jul 26, 2011 at 8:46 AM, Maurizio Cucchiara
> >> <maurizio.cucchiara@gmail.com> wrote:
> >> > There are different schools of thought, this is kind of question that
> has
> >> > multiple answers: please, take a look at
> >> >
> >>
> http://struts.1045723.n5.nabble.com/S2-OgnlValueStack-Error-setting-expression-warnings-after-upgrade-from-struts-2-to-struts-2-1-7-td3495667.html
> >> >
> >> > On 26 July 2011 14:58, Christian Grobmeier <grobmeier@gmail.com>
> wrote:
> >> >
> >> >> > @Christian
> >> >> > Good workaround,
> >> >> > in my defence I can say that I have no problem to change the log
> >> level,
> >> >> > thank to maven I can have different profile with different log
> level.
> >> >>
> >> >> hehe yes I have a similar setup I guess. But "expected exceptions"
> >> >> make me always nervous, even in development mode ,-)
> >> >>
> >> >> >
> >> >> > Maurizio Cucchiara
> >> >> >
> >> >> > Il giorno 26/lug/2011 12.26, "Christian Grobmeier" <
> >> grobmeier@gmail.com>
> >> >> ha
> >> >> > scritto:
> >> >> >> Thanks Maurizio.
> >> >> >>
> >> >> >> I don't want to reduce my error level, now I created something
> weird.
> >> >> >> Not nice, but it works:
> >> >> >>
> >> >> >> private Submit submitCoord = null;
> >> >> >>
> >> >> >> public Submit getSubmit() {
> >> >> >> return submitCoord;
> >> >> >> }
> >> >> >>
> >> >> >> public void setSubmit(String submit) {
> >> >> >> this.submitCoord = new Submit(submit);
> >> >> >> }
> >> >> >>
> >> >> >> class Submit {
> >> >> >> private int x = 0;
> >> >> >> private int y = 0;
> >> >> >> private String name = "";
> >> >> >>
> >> >> >> private Submit(String name) {
> >> >> >> super();
> >> >> >> this.name = name;
> >> >> >> }
> >> >> >>
> >> >> >> public String getName() {
> >> >> >> return name;
> >> >> >> }
> >> >> >>
> >> >> >> public int getX() {
> >> >> >> return x;
> >> >> >> }
> >> >> >> public void setX(int x) {
> >> >> >> this.x = x;
> >> >> >> }
> >> >> >> public int getY() {
> >> >> >> return y;
> >> >> >> }
> >> >> >> public void setY(int y) {
> >> >> >> this.y = y;
> >> >> >> }
> >> >> >>
> >> >> >> }
> >> >> >>
> >> >> >> Cheers
> >> >> >> Christian
> >> >> >>
> >> >> >> On Tue, Jul 26, 2011 at 11:49 AM, Maurizio Cucchiara
> >> >> >> <maurizio.cucchiara@gmail.com> wrote:
> >> >> >>> Hi Christian,
> >> >> >>> unfortunately IIRC there is no way to avoid that OGNL
tries to
> find
> >> the
> >> >> >>> property accessor.
> >> >> >>>
> >> >> >>> Adding this row in your log4j.xml (properties) should
mute this
> log
> >> >> > message
> >> >> >>> (which it should not be a warning message)
> >> >> >>>
> >> >> >>>    <category name="com.opensymphony.xwork2.ognl.OgnlValueStack">
> >> >> >>>        <priority value="error"/>
> >> >> >>>    </category>
> >> >> >>>
> >> >> >>>
> >> >> >>> On 26 July 2011 11:27, Christian Grobmeier <grobmeier@gmail.com>
> >> >> wrote:
> >> >> >>>
> >> >> >>>> Hi,
> >> >> >>>>
> >> >> >>>> using:
> >> >> >>>> <s:submit type="image" src="images/icons/app/32x32/sign-in.png"
> >> >> >>>> name="submit" />
> >> >> >>>>
> >> >> >>>> Sends the following to my action:
> >> >> >>>> submit => [ Submit ] submit.x => [ 40 ] submit.y
=> [ 7 ]
> >> >> >>>>
> >> >> >>>> x / y are coordinates of my click, defined by w3c.
Now they are
> >> sent
> >> >> >>>> to my action, and OGNL tries to set it. Which leads
to:
> >> >> >>>>
> >> >> >>>> > Error setting expression 'submit.x' with value
> >> >> >>>> '[Ljava.lang.String;@a53ed8f'
> >> >> >>>> > ognl.NoSuchPropertyException: java.lang.String.x
> >> >> >>>>
> >> >> >>>> Of course, ognl, sets a string "submit", then tries
to find the
> >> getX
> >> >> >>>> method on my string which does not exist.
> >> >> >>>>
> >> >> >>>> How can I deal with that?
> >> >> >>>>
> >> >> >>>> Cheers
> >> >> >>>> Christian
> >> >> >>>>
> >> >> >>>>
> >> ---------------------------------------------------------------------
> >> >> >>>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> >> >> >>>> For additional commands, e-mail: user-help@struts.apache.org
> >> >> >>>>
> >> >> >>>>
> >> >> >>>
> >> >> >>>
> >> >> >>> --
> >> >> >>> Maurizio Cucchiara
> >> >> >>>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >> --
> >> >> >> http://www.grobmeier.de
> >> >> >>
> >> >> >>
> ---------------------------------------------------------------------
> >> >> >> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> >> >> >> For additional commands, e-mail: user-help@struts.apache.org
> >> >> >>
> >> >> >
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> http://www.grobmeier.de
> >> >>
> >> >> ---------------------------------------------------------------------
> >> >> 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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message