我正在JSF中创建注册表单,我将字段设置为Active,Inactive,我需要使用复选框,这些复选框应该只能单选。 (注意:我可以使用单选按钮解决问题,但由于某些问题,我必须使用复选框)。
请建议我如何完成这项工作?
提前致谢...
答案 0 :(得分:1)
我认为你需要的是<h:selectBooleanCheckbox>
。绑定到此组件的值只能是true(活动)或false(非活动)。它将类似于以下内容:
<h:selectBooleanCheckbox id="active" value="#{mrBean.active}" >
<f:ajax render="inactive" listener="#{mrBean.onActiveStatusChange}" />
</h:selectBooleanCheckbox>
<h:selectBooleanCheckbox id="inactive" value="#{mrBean.inactive}" >
<f:ajax render="active" listener="#{mrBean.onInactiveStatusChange}" />
</h:selectBooleanCheckbox>
@ManagedBean
@RequestScoped
public class MrBean {
private boolean active;
private boolean inactive;
@PostConstruct
public void prepareMrBean() {
this.active = true;
}
public void onActiveStatusChange() {
if (active) inactive = false;
}
public void onInactiveStatusChange() {
if (inactive) active = false;
}
}