JSF中的单选按钮未正确设置值

时间:2017-04-05 18:04:52

标签: jsf

我的JSF单选按钮不起作用,我不知道为什么。这里有一些代码:

        <h:selectOneRadio value="#{jSFDatabase.type}">
            <f:selectItem itemValue="0" itemLabel="Database" />
            <f:selectItem itemValue="1" itemLabel="Webservice" />
        </h:selectOneRadio>

        <h:outputLabel value="#{jSFDatabase.type }" />

如果单击其他单选按钮,则该值仍为0(默认值)。为什么这段代码不起作用? Getter和Setter在这里:

public String getType() {
    return type;
}

public void setType(String type) {
    this.type = type;
}

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您需要使用<f:ajax />重新呈现页面的受影响区域,或者,如果您不想使用AJAX,请发布表单。否则,数据将不会更新。

例如,你可以这样做:

    <h:selectOneRadio value="#{jSFDatabase.type}">
        <f:selectItem itemValue="0" itemLabel="Database" />
        <f:selectItem itemValue="1" itemLabel="Webservice" />
        <f:ajax execute="@form" render="myValue" />
    </h:selectOneRadio>

    <h:outputLabel id="myValue" value="#{jSFDatabase.type }" />

请参阅: http://docs.oracle.com/javaee/6/javaserverfaces/2.1/docs/vdldocs/facelets/f/ajax.html https://www.mkyong.com/jsf2/jsf-2-button-and-commandbutton-example/