使用JSF单选复选框

时间:2012-01-03 07:25:12

标签: jsf jsf-2

我正在JSF中创建注册表单,我将字段设置为Active,Inactive,我需要使用复选框,这些复选框应该只能单选。 (注意:我可以使用单选按钮解决问题,但由于某些问题,我必须使用复选框)。

请建议我如何完成这项工作?

提前致谢...

1 个答案:

答案 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;
   }
}