[英]primefaces component not updating the backing bean
我正在使用 primefaces 布局组件并且在使用嵌入式形式的组件时遇到困难:
<p:selectOneRadio id="customRadio"
value="#{exams.examQuestions.currentQuestion.selectedAnswer}"
layout="custom">
<f:selectItem itemLabel="Option1"
itemValue="#{exams.examQuestions.currentQuestion.examentry.answer1}"
rendered="#{exams.examQuestions.currentQuestion.render_question1}"/>
<f:selectItem itemLabel="Option2"
itemValue="#{exams.examQuestions.currentQuestion.examentry.answer2}"
rendered="#{exams.examQuestions.currentQuestion.render_question2}"/>
<f:selectItem itemLabel="Option3"
itemValue="#{exams.examQuestions.currentQuestion.examentry.answer3}"
rendered="#{exams.examQuestions.currentQuestion.render_question3}"/>
<f:selectItem itemLabel="Option4"
itemValue="#{exams.examQuestions.currentQuestion.examentry.answer4}"
rendered="#{exams.examQuestions.currentQuestion.render_question4}"/>
<f:selectItem itemLabel="Option5"
itemValue="#{exams.examQuestions.currentQuestion.examentry.answer5}"
rendered="#{exams.examQuestions.currentQuestion.render_question5}"/>
<h:panelGrid columns="1">
<p:radioButton id="opt1"
for="customRadio"
itemIndex="0"
rendered="#{exams.examQuestions.currentQuestion.render_question1}"/>
<h:outputLabel for="opt1"
value="#{exams.examQuestions.currentQuestion.examentry.answer1}"
rendered="#{exams.examQuestions.currentQuestion.render_question1}"/>
<br/>
<p:radioButton id="opt2" for="customRadio"
itemIndex="1"
rendered="#{exams.examQuestions.currentQuestion.render_question2}"/>
<h:outputLabel for="opt2"
value="#{exams.examQuestions.currentQuestion.examentry.answer2}"
rendered="#{exams.examQuestions.currentQuestion.render_question2}"/>
<br/>
<p:radioButton id="opt3"
for="customRadio"
itemIndex="2"
rendered="#{exams.examQuestions.currentQuestion.render_question3}"/>
<h:outputLabel for="opt3"
value="#{exams.examQuestions.currentQuestion.examentry.answer3}"
rendered="#{exams.examQuestions.currentQuestion.render_question3}"/>
<br/>
<p:radioButton id="opt4"
for="customRadio"
itemIndex="3"
rendered="#{exams.examQuestions.currentQuestion.render_question4}"/>
<h:outputLabel for="opt4"
value="#{exams.examQuestions.currentQuestion.examentry.answer4}"
rendered="#{exams.examQuestions.currentQuestion.render_question4}"/>
<br/>
<p:radioButton id="opt5"
for="customRadio"
itemIndex="4"
rendered="#{exams.examQuestions.currentQuestion.render_question5}"/>
<h:outputLabel for="opt5"
value="#{exams.examQuestions.currentQuestion.examentry.answer5}"
rendered="#{exams.examQuestions.currentQuestion.render_question5}"/>
</p:selectOneRadio>
当我 select 不同的项目时,支持 bean exams.examQuestions.currentQuestion.selectedAnswer 没有更新,这是怎么回事? 如果我从同一表单调用此组件“customRadio”的更新,则支持 bean 会自行更新,但我无法在表单外执行此操作。 请帮忙!
我真的不知道你到底想要什么(因为我在你的示例代码中没有看到任何 forms),但我想你的问题是你在最后一个 f:selectItem 之后没有关闭 p:selectOneRadio .. .
请仔细看看 primefaces showcase selectOneRadio
此外,如果您想从另一个表单更新组件,您可以像这样调用更新update=":formIdOfComponent:componentID"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.