我有以下数据表,它以动态方式显示复选框,并使用这些复选框显示记录。 现在我想获取所选框的值,并希望将这些值传递给其他webService。 在图片中,问题及其数据是动态的。
<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="<br/><br/>" 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>
答案 0 :(得分:0)
如果你的模型在Category
实体中有一个布尔属性,那就做这样的事情(如@BalusC所说):
<p:selectOneRadio id ="userChoice" value="#{tCategoryList.categoryBooleanValue}" />
如果不是,则必须在表示层中创建一个新的CategoryWithAnswer
类,其中包含用于存储每个用户选择的属性。
您可以扩展Category Model类。而且您必须重新填充userPreferences.availableQuestions
列表的每个元素的类别列表。
总之,您必须在模型中使用一些属性bean来存储用户答案。通常此属性存在于模型中 作为持久性实体bean的一部分。