Well,everything does seem to be right. However the original exception does say:

javax.faces.el.PropertyNotFoundException: Bean: java.lang.String , property: firstName at org.apache.myfaces.el.PropertyResolverImpl.getPropertyDescriptor(PropertyResolverImpl.java:483)

which seems to imply that getUser has returned a String object.

The PropertyResolverImpl code is:
   public static PropertyDescriptor getPropertyDescriptor(
       BeanInfo beanInfo, String propertyName)
   {
       PropertyDescriptor[] propDescriptors =
           beanInfo.getPropertyDescriptors();

       if (propDescriptors != null)
       {
           // TODO: cache this in classLoader safe way
           for (int i = 0, len = propDescriptors.length; i < len; i++)
           {
               if (propDescriptors[i].getName().equals(propertyName))
                   return propDescriptors[i];
           }
       }

       throw new PropertyNotFoundException("Bean: "
           + beanInfo.getBeanDescriptor().getBeanClass().getName()
           + ", property: " + propertyName);
   }


You don't happen to have a UserBackingBeanBeanInfo class around do you?

As a wild guess, is the User class public? Maybe if it isn't, then something in the java introspection or JSF el code is calling toString on it to convert it to something that is accessable..

I can't think what else might be causing your issue..

Cheers,

Simon

Reply via email to