Using resource bundle keys containing dots in a facelet


In order to put some order into our resource bundle with JSF, I wanted to use dots to structure the keys to make them more meaningful. I wanted to use a structure like ScreenName.title=value

We used to use the keys this way

<h:outputText value="#{bundle.title}" />

When I tried to use

<h:outputText value="#{bundle.screen.title}" />

I got an error because JSF interpreted bundle.screen.title as an expression and title was not a method of the String class. To be able to use the dots, I had to change the way to get values from the bundle as follows:

<h:outputText value="#{bundle['screen.title']}" />
%d bloggers like this: