JSF绑定没有';t为<;输入类型=";电台;
我创建了一个jsf组件,它为“应答”模型显示适当的html控件。 回答类型有单选和多选两种。 对于回答类型,我可以使用乘法选择JSF绑定没有';t为<;输入类型=";电台;,jsf,jsf-2.2,composite-component,Jsf,Jsf 2.2,Composite Component,我创建了一个jsf组件,它为“应答”模型显示适当的html控件。 回答类型有单选和多选两种。 对于回答类型,我可以使用乘法选择 <h:selectBooleanCheckbox value="#{cc.attrs.ItemSource.selectedByUser}" /> 装订工作。 对于回答类型,我不能使用 目前我正在使用 <input type="radio" name="answer#{cc.attrs.QuestionId}" value="#{cc.attr
<h:selectBooleanCheckbox value="#{cc.attrs.ItemSource.selectedByUser}" />
装订工作。
对于回答类型,我不能使用
目前我正在使用
<input type="radio" name="answer#{cc.attrs.QuestionId}" value="#{cc.attrs.ItemSource.selectedByUser}" />
但是当用户选择它时,绑定似乎不起作用。发布后,相应的selectedByUser仍然为false
有没有办法解决这个问题
是否可以在bean中检索表单数据并将其分配给模型
[编辑]
我的问答组件如下所示:
问题:
<cc:interface>
<cc:attribute name="ItemSource" type="code.elephant.domainmodel.Question" required="true" />
</cc:interface>
<!-- IMPLEMENTATION -->
<cc:implementation>
<c:forEach items="${cc.attrs.ItemSource.answers}" var="item">
<li>
<local:Answer ItemSource="#{item}" AnswerType="#{cc.attrs.ItemSource.answerType}"
GapString="#{cc.attrs.ItemSource.gapString}"
QuestionId="#{cc.attrs.ItemSource.questionId}"/>
</li>
</c:forEach>
答复:
<!-- INTERFACE -->
<cc:interface>
<cc:attribute name="AnswerType" type="code.elephant.domainmodel.AnswerType" required="true" />
<cc:attribute name="ItemSource" type="code.elephant.domainmodel.Answer" required="true" />
<cc:attribute name="QuestionId" type="java.lang.Long" required="true" />
<cc:attribute name="GapString" type="java.lang.String" />
</cc:interface>
<!-- IMPLEMENTATION -->
<cc:implementation>
<c:if test="#{cc.attrs.AnswerType == 'MultipleChoice'}">
<h:selectBooleanCheckbox value="#{cc.attrs.ItemSource.selectedByUser}" />
<h:outputText value="#{cc.attrs.ItemSource.text}" />
</c:if>
<c:if test="#{cc.attrs.AnswerType == 'SingleChoice'}">
<input type="radio" name="answer#{cc.attrs.QuestionId}" value="#{cc.attrs.ItemSource.selectedByUser}" />#{cc.attrs.ItemSource.text}
</c:if>
</cc:implementation>
#{cc.attrs.ItemSource.text}
JSF不知道这个输入:
它绝对不是JSF组件/输入。你为什么要这样使用它?为什么不使用jsfh:selectOneRadio
?如果您真的像您一样需要“html5友好”标记,您可以使用它:可能重复的我不能使用我想分配`