Tengo una <h:selectOneMenu> interior que <a4j:support> está escrito.
Tengo que pasar el valor seleccionado actualmente a través de <a4j:support> como un parámetro a la acción.
¿Cómo puedo hacer esto?

<rich:modalPanel>

 <a4j:form>
 <rich:dataTable value="#{factoryCollectionOfUsers}" var="foo">
 <h:selectOneMenu name="role">
                        <s:selectItems
                           value="#{userAction.roleArray}"
                           var="role" label="#{role}"
                           noSelectionLabel="Please select" />
                        <a4j:support event="onchange" ajaxSingle="true"
                           action="#{userAction.setSelection}">
                        </a4j:support>
                        <s:convertEnum />

              </h:selectOneMenu>
  </rich:dataTable>
</a4j:form>
</rich:modalPanel>
  • ¿Por qué utilizar un:apoyo? ¿Por qué no utilizar el oyente?
  • Traté de valuechangelistener, pero que también no funciona.
  • Entonces usted necesita para mostrar el código que estás utilizando, ya que se debe trabajar. Recuerde que usted tiene que tener el cuadro de selección que se adjunta en <h:form>
  • Seleccione el cuadro que se adjunta en a4j:formulario..
InformationsquelleAutor Anand | 2011-02-08

2 Comentarios

  1. 0

    Intentar algo como esto:

    <h:form> 
      <h:selectOneMenu value="#{foo.theChosenValue}"
        required="true" valueChangeListener="#{foo.processValueChange}"
        onchange="this.form.submit();">
            <s:selectItems
                           value="#{userAction.roleArray}"
                           var="role" label="#{role}"
                           noSelectionLabel="Please select" />
         <s:convertEnum />
      </h:selectOneMenu>
    </h:form>

    Su componente debe entonces:

    @Name("foo")
    public class Foo {
        @Getter @Setter Enum theChosenValue; //I don't know your type
    
        public void processValueChange(ValueChangeEvent value) throws AbortProcessingException {
            if (value != null) {
                if (value.getNewValue() instanceof Enum) {
                    this.theChosenValue = (Enum) value.getNewValue();
                }
            }
        }
    }

Dejar respuesta

Please enter your comment!
Please enter your name here