voglio loop su un certo numero di "ospiti" e inserire un ID dynanimallydinamicamente assegnare gli ID di tag usando una variabile EL
<ui:repeat value="#{guestList}" var="guest">
<p:inputText id="firstname_#{guest.uniqueID}" value="" label="Firstname" />
<p:message for="firstname_#{guest.uniqueID}" />
</ui:repeat>
Il problema è, che il <p:message />
non permette di risolvere firstname_#{guest.uniqueID}
javax.faces.FacesException - Impossibile trovare il componente "firstname_1" in vista. a org.primefaces.component.message.MessageRenderer.encodeEnd (MessageRenderer.java:41)
Funziona senza problemi se scrivo una costante all'interno del ciclo, e anche io sono sicuro che la variabile può essere risolto, poiché posso farlo uscire in quel ciclo.
Come posso impostare jsf o primefaces per risolvere questa variabile?
Grazie per la risposta, ma il numero degli ospiti è una mera semplificazione del mio problema in quanto ho bisogno di tali ID per affrontare i campi a destra dentro il mio fagiolo. A meno che non ci sia un altro modo, per affrontare il mio bean in un altro modo, questa non è ancora la soluzione al mio problema. (Ho cercato di renderlo più chiaro nella mia domanda) – devsnd
Non è chiaro il motivo per cui è necessario l'id nel backing bean. Hai lasciato vuoto l'attributo value. Dovrebbe essere usato per associare l'input a un campo di backing bean. Forse è quello di cui hai bisogno? –
Hai ragione! Ora ho capito: dal momento che sto iterando attraverso tutti i miei "ospiti" comunque, posso assegnare dinamicamente i binding di valore nel mio ciclo. (Ci scusiamo per la confusione, ma in realtà il problema si verifica nelle profondità delle composizioni nidificate) – devsnd