Jsf 在rich:dataTable内部使用a4j:repeat或ui:repeat不';t正确渲染单选按钮

Jsf 在rich:dataTable内部使用a4j:repeat或ui:repeat不';t正确渲染单选按钮,jsf,seam,richfaces,jstl,Jsf,Seam,Richfaces,Jstl,使用时,未正确替换项目值。如果我使用 我如何解决这个问题 正在内部工作,但我想向服务器发送一个选择类型 <rich:dataTable var="answer" value="#{answers}"> <rich:column> <f:selectOneRadio value="#{response.value}"> <c:forEach items="#{answer.choices}" var="choice"

使用
时,未正确替换项目值。如果我使用

我如何解决这个问题

正在内部工作,但我想向服务器发送一个选择类型

  <rich:dataTable var="answer" value="#{answers}">
    <rich:column>
      <f:selectOneRadio value="#{response.value}">
        <c:forEach items="#{answer.choices}" var="choice">
            <f:selectItem itemLabel="#{choice.value}" itemValue="#{choice.type}"/>
        </c:forEach>
     </f:selectOneRadio>
   </rich:column>
  </rich:dataTable>

如果您已经在使用JSF 2.x,那么您可以使用以下构造:

<f:selectItems value="#{answer.choices}" var="choice" itemValue="#{choice.type}" itemLabel="#{choice.value}" />
这样你就可以

<f:selectItems value="#{answer.selectItems}" />


我们仍在使用JSF 1.x(RichFaces 3.3.2.SR1),目前还没有迁移到JSF 2.x的计划。我马上试试你的建议。请稍等,我现在看到你也给接缝贴上了标签。您还应该看看Seam的
s:selectItems
,它提供了与JSF 2.x
f:selectItems
类似的构造。在我的“answerList”bean中有一个“correct”变量,我试图存储所选的值,但是单选按钮总是返回空值。私有字符串正确;此外,在使用FireBug元素检查时,单选按钮标签和值被发现是正确的。不确定,我在这里遗漏了什么
h:message
h:messages
说了什么<代码>值无效
?如果是这样,您需要在后续请求中保留完全相同的列表。因此,在bean构造函数或
@PostConstruct
中预先填充它。或者滥用会话范围。我很困惑。你是不是在用seam?因为这才是你真正想要的
<f:selectItems value="#{answer.selectItems}" />