Pregunta

Tengo una página con una selección de radio con 3 opciones y una inputTextArea. Al pulsar el botón de enviar en mi página, entonces tengo que hacer algunas validaciones ... Para hacerlo, puse un validador en la radio. El problema es que cuando se ejecuta el validador, necesito los valores de la inputTextArea y de la radio, pero vienen con los viejos valores, no los que se definieron en la página antes de que se submited la página.

Ejemplo:. String.valueOf (textArea.getValue ()) es igual a ( "")) cuando se sumited primero la String.valueOf código (textAreaOcorrencia.getValue ()) es nulo, pero ya que el textArea estaba vacía fue suposed a ser una cadena vacía. Cuando se submited por segunda vez, tiene el valor de lo que se suponía que tienen en la primera presentación. Yo sé que esto tiene algo que ver con el ciclo de vida de JSF, pero yo no sé cómo actualizar estos valores?

Gracias de antemano ...

¿Fue útil?

Solución

Durante la fase de aplicar los valores de solicitud, los valores presentados se establecerá y disponible como submittedValue. Durante la fase de validaciones, los valores enviados serán validados y se convierten y se definen como value. Los componentes son validados en el orden de arriba a abajo como los componentes aparecen en el árbol de componentes.

Por lo tanto, si el componente en cuestión aparece en realidad después la componente de corriente en el árbol de componentes, que necesita para obtener su valor por UIInput#getSubmittedValue() en lugar de UIInput#getValue() .

Para obtener más información sobre el ciclo de vida de JSF, puede encontrar esta auto artículo -Práctica útil.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top