<h:outputText value="#{messages['label.firstName']}"/>

This worked great, and I don't have to change all my Resource Bundles now.

Thank you so much!!!



On 10/31/06, Craig McClanahan <[EMAIL PROTECTED]> wrote:


On 10/31/06, Mick Knutson < [EMAIL PROTECTED]> wrote:
I solved the issue, but am not happy with it.
It seems that using a dot notation in the Resource Bundle is not allowed.

Hold up a sec on the changes!

EL expressions use the same syntax for variable references that _javascript_ expressions do.  Thus, "#{ foo.bar}" and "#{foo[bar]}" and "#{foo['bar']}" are all equivalent.

This gives me the error:
<h:outputText value="#{messages.label.firstName}" />:

Try this instead:

    <h:outputText value="#{messages['label.firstName']}"/>

Craig

This does not:
<h:outputText value="#{messages.label_firstName}" />:

But I had to change my messages.properties declaration from:
label.firstName=First Name

to:

label_firstName=First Name






On 10/31/06, Mick Knutson < [EMAIL PROTECTED]> wrote:
What is the UserBackingBeanBeanInfo ???

All I have is a simple UserBackingBeanBean with a set/get for public User





On 10/31/06, Simon Kitching <[EMAIL PROTECTED]> wrote:
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





--

Thanks

DJ MICK
http://www.djmick.com
http://www.myspace.com/mickknutson




--

Thanks

DJ MICK
http://www.djmick.com
http://www.myspace.com/mickknutson

Reply via email to