Well, I know from earlier tests that setting var="person" if you have
a scoped bean named "person" will bring you into trouble as well - so
this is not only related to the predefined values.

regards,

Martin

On 8/1/07, Renzo Tomaselli <[EMAIL PROTECTED]> wrote:
>
>  Well - I admit was a bit unlucky to meet one of them - but after all
> calling "param" a parameter shouldn't be too naif.
>  In the context of iterating components - param, header, cookie and view
> might be dangerous names. All the others are quite unlikely to be used this
> way.
>  Hopefully this game is not related to *any* variable resolution, e.g. I
> hope "foo.param" does not meet the same trouble, otherwise all reserved
> names might lead to troubles soon or later.
>
>  -- Renzo
>
>
>
>  Adam Winer wrote:
>  Well, we do know the predefined objects:
>
> pageContext
> servletContext
> session
> request
> response
> param
> paramValues
> header
> headerValues
> cookie
> initParam
> pageScope
> requestScope
> sessionScope
> applicationScope
> facesContext
> view
>
> Plus in Trinidad
> requestContext
> pageFlowScope/processScope
>
> All of these are bad news. It wouldn't be too rough to
> have a little trinidad-impl Set<String> of these, check
> against it in all the renderers + tags that expose "var" or
> "varStatus" and log a warning. Not 100% bulletproof, but it'd
> save someone a day of debugging some day.
>
> -- Adam
>
>
>
> On 8/1/07, Simon Lessard <[EMAIL PROTECTED]> wrote:
>
>
>  That's a nice issue, and we have no way to provide all the reserved names
> either... I guess the best we could do is alter the parameter description to
> mention that it must not take the value of any predefined object and should
> not take the name of a managed bean either.
>
> Anyone see a better solution for this?
>
>
> Regards,
>
> ~ Simon
>
>
> On 8/1/07, Renzo Tomaselli < [EMAIL PROTECTED]> wrote:
>
>
>  Hi, I just discovered that there are a number of names which cannot be
> used for binding iterating component variables - such as in tr:table.
> In short, I needed to render a set of parameters in a tr:table, so that
> it seemed obvious to me setting var="param".
> But the table was rendered empty, event if I have some other similar
> examples running fine.
> It took an entire day of hard debugging to discover that in
> org.apache.myfaces.el.VariableResolverImpl there are
>
>  several "trapping"
>
>
>  names - "param" among the others. They prevent regular binding
> resolution, although no error is reported. Replacing "param" by anything
> else made the table being rendered fine.
> Just sharing to avoid anybody else to fall into the same trouble.
>
> -- Renzo
>
>
>
>
>
>
>


-- 

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces

Reply via email to