Domanda

Ho una pagina con una selezione radio con 3 opzioni e un'inputTextArea. Quando si preme il pulsante di invio sulla mia pagina, quindi ho bisogno di fare alcune convalide ... Per fare ciò, ho messo un validatore alla radio. Il problema è che, quando viene eseguito il validatore, ho bisogno i valori del inputTextArea e della radio, ma vengo con vecchi valori, non quelli che sono stati definiti sulla pagina prima che la pagina è stata submited.

Esempio:. String.valueOf (textArea.getValue ()) è uguale a ( "")) quando viene prima sumited il codice String.valueOf (textAreaOcorrencia.getValue ()) è nullo, ma poiché la textArea era vuoto era suppone sia una stringa vuota. Quando e 'stato inserito per la seconda volta, ha il valore di ciò che doveva avere nel 1 ° sottomissione. So che questo ha qualcosa a che fare con la vita ciclo JSF, ma non so come aggiornare questi valori?

Grazie in anticipo ...

È stato utile?

Soluzione

Durante la fase di applicare i valori di richiesta, i valori inviati verrà impostato e disponibile come submittedValue. Durante la fase di validazione, i valori inviati saranno convalidati e convertiti e impostati come value. I componenti sono convalidati nell'ordine alto-basso, come i componenti vengono visualizzati nella struttura di componente.

In questo modo, se il componente in questione sembra in realtà dopo del componente corrente nella struttura del componente, è necessario per ottenere il suo valore dal UIInput#getSubmittedValue() invece di UIInput#getValue() .

Per saperne di più sul ciclo di vita JSF, si possono trovare questa auto articolo -Pratica utile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top