Search code examples
jsffacelets

JSF: Creating aliases for properties in backing bean


I am referring to pretty deep object hierarchies with pretty cryptic names in EL as in #{myBean.configBaseStack.excludeMethodFromAccounting.method.TimeoutBehaviorEnabled}.

I would like to point to this very same property through an alias like in:

<x:alias name="m" value="#{myBean.configBaseStack.excludeMethodFromAccounting.method" />
<h:inputText value="#{m.TimeoutBehaviorEnabled}" />

I guess one way to accomplish this would be to create these aliases in the backing bean, but I'd rather leave that to the template.

How to accomplish this in template/facelet level?


Solution

  • I think you can use <ui:param> to accomplish this:

    <ui:param name="m" value="#{myBean.configBaseStack.excludeMethodFromAccounting.method}"/>
    

    Then you can use it like this on the same page:

    <h:inputText value="#{m.TimeoutBehaviorEnabled}" />