动态更改输入类型

  • 本文关键字:类型 动态 jsf
  • 更新时间 :
  • 英文 :


我使用的是JSF 2.2。我正在努力建立一个考试系统。有些问题只有一个正确答案,另一些问题有多个正确答案。根据这个,我的视图应该显示单选按钮或复选框。我在XHTML页面中有一个硬编码的示例:

<h:dataTable value="#{main.answerList}" var="list">
    <h:column>
        <h:selectBooleanCheckbox id="checkboxAnswer" value="#{list.check}"/>
        <h:outputText value="#{list.ansValue}"/>
    </h:column>
</h:dataTable>

如何根据问题类型在单选按钮和复选框之间进行切换?

只需使用rendered属性即可根据问题类型在输入类型之间切换。你的问题中的代码(变量名)不是自记录的,所以我也在对其进行更改,这样它就变得更加自记录,并且这些属性中的每一个都代表了什么。

<h:dataTable value="#{bean.questions}" var="question">
    <h:column>
        <h:selectOneRadio value="#{question.selectedAnswer}" rendered="#{question.type == 'SINGLE_CHOICE'}">
            <f:selectItems value="#{question.availableAnswers}" />
        </h:selectOneRadio>
        <h:selectManyCheckbox value="#{question.selectedAnswers}" rendered="#{question.type == 'MULTIPLE_CHOICE'}">
            <f:selectItems value="#{question.availableAnswers}" />
        </h:selectManyCheckbox>
    </h:column>
</h:dataTable>

#{question.type}应该表示具有上述值的enum

相关内容

  • 没有找到相关文章

最新更新