prime-faces を使って Web ページを作成しようとしています。クイズ用のページを実装したいと考えています。私のビーンには Answer DTO のリストを含む Question DTO のリストがあり、各質問の回答をラジオボタンで表示したいと思います。ユーザーは 1 つの回答しか選択できず、1 つの質問には最大で 1 つの正解しかないためです。全部で 4 つの質問があります。私は次のコードを書いた
<h:selectOneRadio id="parkingOptions" value="#{theBean.userAnswer}">
<f:selectItems value="#{quizQuestionDto.quizAnswerList.answer}"/>
</h:selectOneRadio>
私のビーンには getUserAnswer と setUserAnswer というメソッドがあり、 String を受け入れるユーザー選択の回答を保存します。質問する質問が複数あるため、文字列または文字列のリストを受け入れるかどうか混乱しています。例外が発生しています
java.lang.NumberFormatException: 入力文字列の場合: java.lang.Integer.parseInt(Integer.java:492) で java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) で「answer」。 javax.el.ListELResolver.coerce(ListELResolver.java:163) の parseInt(Integer.java:527) javax.el.ListELResolver.getValue(ListELResolver.java:51) の com.sun.faces.el.DemuxCompositeELResolver._getValue (DemuxCompositeELResolver.java:176) com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203) org.apache.el.parser.AstValue.getValue(AstValue.java:183) org.apache. el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184) で com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109) で javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194) の javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182) の javax.faces.component.UISelectItems.getValue(UISelectItems.java:129) の com.sun.faces .renderkit.SelectItemsIterator.initializeItems(SelectItemsIterator.java:208) com.sun.faces.renderkit.SelectItemsIterator.hasNext(SelectItemsIterator.java:135) com.sun.faces.renderkit.html_basic.SelectManyCheckboxListRenderer.encodeEnd(SelectManyCheckboxListRenderer.java) :133) javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919) で javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863) で com.sun.faces.facelets.component.RepeatRenderer で。 com.sun.faces.facelets.component.UIRepeat の encodeChildren(RepeatRenderer.java:104)。com.sun.faces.facelets.component.UIRepeat.encodeChildren(UIRepeat.java:1110) のプロセス (UIRepeat.java:621) javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856) の javax.faces .component.UIComponent.encodeAll(UIComponent.java:1859) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859) com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:456) ) com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133) で com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120) で com.sun.faces.lifecycle で。 Phase.doPhase(Phase.java:101) ... 61 続きを読むcom.sun.faces.application で javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859) で javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859) で encodeAll(UIComponent.java:1856) .view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:456) com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java.java) :120) com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) ... 61 もっと見るcom.sun.faces.application で javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859) で javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859) で encodeAll(UIComponent.java:1856) .view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:456) com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java.java) :120) com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) ... 61 もっと見る456) com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133) で com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120) で com.sun.faces.lifecycle .Phase.doPhase(Phase.java:101) ... 61 続きを読む456) com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133) で com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120) で com.sun.faces.lifecycle .Phase.doPhase(Phase.java:101) ... 61 続きを読む