我怎样才能创建JSF切换按钮?(How can I create toggle buttons in

2019-07-19 05:31发布

我怎样才能创建JSF切换按钮?

基本上,我需要两个按钮“中”和“out”。 他们基本上是调用同一个托管bean,但由于每一个结果点击一个应该被禁用,另应启用,反之亦然。 如何才能做到这一点? 我应该使用Ajax功能?

Answer 1:

只要有一个boolean ,你在行动方法和反准确使用属性在属性disabled的两个按钮的属性,反转。

开球例如:

@ManagedBean
@ViewScoped
public class Bean {

    private boolean enabled;

    public void toggle() {
        enabled = !enabled;
    }

    public boolean isEnabled() {
        return enabled;
    }

}

<h:form>
    <h:commandButton value="Enable" action="#{bean.toggle}" disabled="#{bean.enabled}" />
    <h:commandButton value="Disable" action="#{bean.toggle}" disabled="#{not bean.enabled}" />
</h:form>

阿贾克斯在技术上是没有必要的。 随意添加<f:ajax>这两个按钮,虽然改善了用户体验。

一个@ViewScoped豆又非常必要的。 一个@RequestScoped一个将在请求端打砸,在重新下一个请求,特此导致boolean重新初始化为默认值,因此看似失败后第二次点击的工作,因为JSF将作为对篡改/砍死请求保障的一部分,还要检查在disabled (和rendered实际调用操作之前)属性。

也可以看看:

  • 如何选择合适的豆范围是什么?
  • 的commandButton / commandLink / AJAX动作/侦听方法不会被调用或不被更新的输入值 (点5)


文章来源: How can I create toggle buttons in JSF?