Tapestry does allow for calling a non abstract method from ognl, but I have
noticed that in some instances you can't use the bean style syntax to do it.
Ie

Page
  Object foo;
    foo has method getBar();

In normal circumstances you'd be able to get to this as "ognl:foo.bar", but
for whatever reason you sometimes have to do this instead "ognl:foo.getBar()".
Literally using the () is key.

On 3/7/06, Matt Raible <[EMAIL PROTECTED]> wrote:
>
> On 3/6/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> > Hi matt,
> > I'm not really familiar with appfuse's code, so there are some things
> > I don't understand (for instance, how you set the listener of the form)
> > and some that I find bizarre (you really have to deal with the
> > HttpServletRequest directly?).
>
> Ideally, I wouldn't have to use the HttpServletRequest directly - but
> I found using it was easier than putting settings for each individual
> property on my form.
>
> >
> > But, anyway, i see
> > you're using 2 MultiplePropertySelection, both having
> > <binding name="selectedList" value="userRoles"/>
> >
> > Won't this cause problems (=overwrites) during rewind ?
>
> I don't think so - mainly because only one is shown - @If hides one
> based on how the user got to the page and their role.
>
> > On rewind, a new list is created
> > and returned in getUserRoles(), it's then cleared and it also gets new
> > items added by MultiplePropertySelection. How are you accessing those
> > values? You don't have a reference stored anywhere...
> >
> > Maybe that's why you've added the workaround:
> > // workaround for input tags that don't aren't set by Tapestry (who
> knows why)
> > ...
> > and read directly from HttpServletRequest.
>
> Yeah, that's one of the reasons.  One of the problems I've had with
> Tapesty is I've never had enough time to learn how to do it
> "elegantly".  I still find myself frustrated that things don't "just
> work".  Perhaps I'm trying too hard and things do work easily - I just
> don't see it.
>
> >
> > A natural usage would be to have 2 abstract properties, userRoles +
> > hiddenUserRoles, init them in pageBeginRender, use them in the 2
> > MultiplePropertySelections and after rewind, read the data back.
> >
> > Regarding the fact that this used to work in Tapestry 3 (even though it
> looks
> > like a hack:) ), well i don't know why! Could it be that getUserRoles()
> > is called only once, or perhaps returns an empty list on the second
> invocation?
>
> I'll try using two different properties.  Regardless, Tapestry 4
> doesn't seem to allow calling a non-abstract method from OGNL.  I've
> encountered this same problem in other areas too.
>
> >
> >
> > PS How many ppl are working on appfuse?
>
> I believe we're up to 6 committers now.
>
> Matt
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to