Come si esegue il bind di un determinato componente dinamicamente al runtime? Per esempio, ho il seguente tag componente,Associazione del valore dinamico del componente JSF
<h:inputText value="#{bean.someProp}" />
Nel mio caso, "# {} bean.someProp" è noto solo in fase di esecuzione.
Qual è la migliore strategia per implementare questo?
Devo attraversare l'albero dei componenti e impostare il valore di associazione a livello di codice? Se sì, in quale fase del ciclo di vita di JSF dovrei fare il movimento?
Ok, capisco cosa intendi. Questa è una buona idea, tranne per il fatto che perderò tutti i metadati definiti nelle annotazioni nelle mie entità. Ciò significa anche perdere il vantaggio dell'utilizzo di (il tag di convalida dell'ibernazione da SEAM) e di tutte le altre infrastrutture che dipendono dai metadati delle annotazioni. FYI, sto facendo questo per creare un framework che implementa il pattern 'naked object' (una implementazione ref è http://www.nakedobjects.org/). Fondamentalmente ispeziona un'entità e crea automaticamente tabelle e moduli correlati (in questo caso, albero dei componenti). –
bungrudi
Urm, ... al secondo pensiero, usando questo approccio non devo perdere tutti quei metadati delle annotazioni. Ci proverò e ti faccio sapere. – bungrudi
Questo è il modo in cui lo faccio al momento. In questo modo, sto perdendo il vantaggio di e devo ri-implementare la convalida da qualche altra parte. È banale, però, solo una questione di chiamare hibernateValidator.validate (bean). –
bungrudi