2011-01-03 21 views
5

Mi riferisco a gerarchie di oggetti piuttosto profonde con nomi piuttosto criptici in EL come in #{myBean.configBaseStack.excludeMethodFromAccounting.method.TimeoutBehaviorEnabled}.JSF: creazione di alias per le proprietà nel bean di supporto

vorrei puntare a questa stessa proprietà attraverso un alias come in:

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

Credo che un modo per raggiungere questo obiettivo sarebbe quello di creare questi alias nel backing bean, ma preferirei lascia questo al modello.

Come raggiungere questo livello di modello/facelet?

risposta

7

Penso che si possa utilizzare <ui:param> per raggiungere questo obiettivo:

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

Quindi è possibile utilizzare in questo modo sulla stessa pagina:

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

Sapevo che era semplice. Ho controllato 'f: param' e' f: attribute' ma non ho capito che c'era questo :) Sembra funzionare, grazie! –

+0

prego! –

1

Probabilmente si potrebbe usare il tag set equivalente JSTL per questo (utilizzando gli attributi var e value).

+0

Questo sarebbe possibile, ma sarebbe bloccare la relazione . Usando 'ui: param' come suggerisce Shervin permette di usare le proprietà in modo più flessibile. Buon suggerimento, però. –

0

Per quanto ne so l'aliasing non è supportato in jsf, utilizzando i componenti standard che lo sono.

Problemi correlati