【问题标题】:Single Select Checkbox Using JSF使用 JSF 的单选复选框
【发布时间】:2012-01-03 07:25:12
【问题描述】:

我正在 JSF 中创建注册表单,并且我的字段为 Active、Inactive,我需要在其中使用复选框,并且这些复选框应该是 SINGLE SELECT ONLY。 (注意:我可以使用单选按钮解决问题,但是由于一些问题我必须使用复选框)。

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

提前谢谢...

【问题讨论】:

  • “但是由于一些问题” 哪个问题?为什么不直接解决这个问题,以便您可以使用单选按钮而不是使用复选框?另外,请明确说明您使用的是哪个 JSF 版本。您在问题上有 JSF 1.2 和 2.0 标记。这令人困惑。你应该只有其中之一。您使用的是哪个 JSF 版本?
  • 我正在使用 JSF 2.0。实际上我必须创建一个程序,要求我只使用复选框而不是单选按钮......因此我正在寻找复选框解决方案......
  • 请删除不正确的 JSF 1.2 标签。至于复选框与单选按钮,问题显然只是客户/经理的无知。作为开发人员,您只需向客户解释,复选框应该用于多选,单选按钮用于单选。
  • 我提出了同样的建议,但是他们严格需要复选框... :( 那是我的运气不好...
  • 删除了不正确的标签...

标签: jsf jsf-2


【解决方案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;
   }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-11
    • 2013-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-14
    相关资源
    最近更新 更多