好的问题在于JSF 1.2中的单选按钮。我有两组单选按钮,第一个触发器填充第二个单选按钮组。在第一个单选按钮集的触发器上,它调用后端方法,绝对是通过ValueChangeListener。代码段是:
<h:selectOneRadio value="#{ApplicantRegistration.appliedForAward}"
style="font-size:1.5em;" id="award" onclick="this.form.submit();"
valueChangeListener="#{ApplicantRegistration.checkWhetherAppliedForAward}" immediate="true">
<f:selectItem itemValue="Yes" itemLabel="Yes" />
<f:selectItem itemValue="No" itemLabel="No" />
</h:selectOneRadio>
第二个单选按钮设置
<h:selectOneRadio value="#{ApplicantRegistration.appliedForInvitation}"
style="font-size:1.5em;" id="invitation" onclick="this.form.submit();"
valueChangeListener="#{ApplicantRegistration.checkWhetherAppliedForInvitation}" immediate="true">
<f:selectItem itemValue="Yes" itemLabel="Yes" />
<f:selectItem itemValue="No" itemLabel="No" />
</h:selectOneRadio>
现在,当我在第一个单选按钮设置中选择是时,第二个单选按钮设置呈现。最初,在第二个单选按钮组中未选中任何选项。现在从第二个单选按钮设置,我选择任何是/否。现在再次从我选择No时设置的第一个单选按钮开始,第二个单选按钮设置呈现的值与我在第一个单选按钮的Yes情况下选择的值相同。在更改第一个单选按钮时,我正在清除后端中设置的第二个单选按钮的值。 后端代码如下:
public void checkWhetherAppliedForAward(ValueChangeEvent evt) {
appliedForInvitation = "";
}
bean在SessionScope中。这两个变量都是String类型。