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

