h:selectOneRadio按钮保留以前的值

时间:2014-03-22 11:35:15

标签: java jsf jsf-1.2

好的问题在于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类型。

0 个答案:

没有答案