They are stored as request attributes (like request scoped managed beans). So, you should be able to obtain them via the request scope map #{requestScope}
using a dynamic key in brace notation #{map[key]}
.
Imagine that the EL variable #{bundleKey}
can hold one of the string values "common"
, "option1"
or "option2"
, then this should do:
#{requestScope[bundleKey]['contact.explanation']}
It can even be a bean property:
#{requestScope[bean.bundleKey]['contact.explanation']}
Note that you don't need a whole <h:outputText>
around it, provided that you're using JSF2/Facelets. See also Is it suggested to use h:outputText for everything?