Wie zu aktivieren/deaktivieren, primefaces commandButton?

Habe ich zwei buttons auf dem Bildschirm. Beim laden der ersten Seite möchte ich auf button2 ist deaktiviert, bis button1 geklickt wird.
Wenn button1 geklickt wird, button2 muss aktiviert sein.

Habe ich versucht:

<p:commandButton value="Normalize"
    actionListener="#{mainTable.normalize}" update="dataTable"
    id="normalize" styleClass="ui-priority-primary"
    style="font-size: 14px">
    <f:setPropertyActionListener value="#{true}"
        target="#{mainTable.disable}" />
</p:commandButton>
<p:commandButton value="To Verify Next->" action="verify.xhtml"
    actionListener="#{mainTable.verify}" id="next"
    styleClass="ui-priority-primary" style="font-size: 14px"
    disabled="#{!(bean.disable)}">
</p:commandButton>

Meine Bohne:

@ManagedBean
@SessionScoped
public class MainTable
{

    private boolean disable;

    public MainTable()
    {
        disable = false;
    }
    public boolean isDisable()
    {
        return disable;
    }

    public void setDisable(boolean disable)
    {
        this.disable = disable;
    }
}

Aber es funktioniert nicht. Wenn ich klickte button1, button2 ist immer noch deaktiviert.
Was ist falsch?

Debuggen von code. Ist die disable - Eigenschaft gesetzt? Auch, warum sind Sie mit f:setPropertyActionListener tag, wenn Sie die normalize action listener? Nur setzen Sie ihn auf true, wenn normalize genannt wird.
Ich reproduzierte den code und es ist perfekt für mich arbeiten.
Ich versuchte es auch ( in normalize-Methode), aber es ist nicht die Arbeit auch.
Sorry, es ist über die Zeile: disabled="#{!(bean.deaktivieren)}"> es sollte mainTable.deaktivieren-Problem gelöst.
Froh zu sehen, dass es funktionierte. Veröffentlichen Sie eine Antwort auf Ihre eigene Frage anstelle der Bearbeitung der Frage selbst zu veröffentlichen die Antwort da.

InformationsquelleAutor yetAnotherSE | 2013-10-04

Schreibe einen Kommentar