如何保存已检查的多个框值

时间:2015-09-02 09:20:55

标签: jsf primefaces

我有以下数据表,它以动态方式显示复选框,并使用这些复选框显示记录。 现在我想获取所选框的值,并希望将这些值传递给其他webService。 在图片中,问题及其数据是动态的。 enter image description here

                <p:row styleClass="ui-panelgrid-cell" rowspan="3">
                    <p:column>
                        <div style="overflow: auto; width: 100%;">                              
                            <p:dataTable var="tQuestions"
                                value="#{userPreferences.availableQuestions}"
                                emptyMessage="No Questions Found." id="sTable">
                                <p:column>
                                    <h:outputText id="sName" styleClass="cellLabelMand"
                                         value="#{tQuestions.shortText}" />
                                <h:outputText value="&lt;br/&gt;&lt;br/&gt;" escape="false" />                                              
                                        <ui:repeat var="tCategoryList" value="#{tQuestions.categoryList}">
                                        <p:selectOneRadio id ="userChoice" value="checked"  />
                                        <h:outputText value="#{tCategoryList.categoryValue}" />
                                        </ui:repeat>                                                 
                                </p:column>                                                                 
                                </p:dataTable>                              
                        </div>
                    </p:column>
                </p:row>

1 个答案:

答案 0 :(得分:0)

如果你的模型在Category实体中有一个布尔属性,那就做这样的事情(如@BalusC所说):

<p:selectOneRadio id ="userChoice" value="#{tCategoryList.categoryBooleanValue}" />

如果不是,则必须在表示层中创建一个新的CategoryWithAnswer类,其中包含用于存储每个用户选择的属性。 您可以扩展Category Model类。而且您必须重新填充userPreferences.availableQuestions列表的每个元素的类别列表。

总之,您必须在模型中使用一些属性bean来存储用户答案。通常此属性存在于模型中 作为持久性实体bean的一部分。