我的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;
}
我该如何解决这个问题?
答案 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/