как передать результат «повторить» - «h: selectOneRadio» в список на резервном компоненте, используя Ajax

как передать результат <ui:repeat> <h:selectOneRadio> в List on Backing bean, используя Ajax?

<h:form rendered="#{lessonBean.TEST!=null}">
      <ui:repeat value="#{lessonBean.TEST.questions}" var="quest">
             <h:selectOneRadio value="">
                     <f:selectItem itemValue="1" itemLabel="${quest.a1}"/>
                     <f:selectItem itemValue="2" itemLabel="${quest.a2}"/>
                     <f:selectItem itemValue="3" itemLabel="${quest.a3}"/>
                     <f:selectItem itemValue="4" itemLabel="${quest.a4}"/>
                     <f:selectItem itemValue="5" itemLabel="${quest.a5}"/>
            </h:selectOneRadio>
      </ui:repeat>
</h:form>

person Алексей Гончаров    schedule 15.05.2015    source источник


Ответы (1)


Если lessonBean.TEST.questions представляет собой список объектов Question, вы можете добавить в класс Question новое поле Integer с именем answer (с геттерами и сеттерами) и сделать что-то вроде:

<h:form rendered="#{lessonBean.TEST!=null}">
      <ui:repeat value="#{lessonBean.TEST.questions}" var="quest">
             <h:selectOneRadio value="#{quest.answer}">
                     <f:ajax event="click" process="@this" update="@this">
                     <f:selectItem itemValue="1" itemLabel="${quest.a1}"/>
                     <f:selectItem itemValue="2" itemLabel="${quest.a2}"/>
                     <f:selectItem itemValue="3" itemLabel="${quest.a3}"/>
                     <f:selectItem itemValue="4" itemLabel="${quest.a4}"/>
                     <f:selectItem itemValue="5" itemLabel="${quest.a5}"/>
            </h:selectOneRadio>
      </ui:repeat>
</h:form>
person Szarpul    schedule 15.05.2015