Comment activer/désactiver primefaces bouton de commande?

J'ai deux boutons sur l'écran. Quand la page chargée pour la première fois je veux bouton2 est désactivé jusqu'à ce que button1 est cliqué.
Lorsque button1 est cliqué, bouton2 doit être activé.

J'ai essayé:

<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>

Mon haricot:

@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;
    }
}

Mais ça ne fonctionne pas. Quand j'ai cliqué sur button1, button2 est toujours désactivé.
Quel est le problème?

  • Déboguer votre code. Est le disable propriété définie? Pourquoi êtes-vous à l'aide de f:setPropertyActionListener étiquette lorsque vous avez la normalize action de l'auditeur? Il suffit de le mettre à true lors de l' normalize est appelé.
  • J'ai reproduit votre code et il est parfaitement travailler pour moi.
  • J'ai essayé aussi ( mise en normaliser la méthode), mais il ne fonctionne pas aussi.
  • Désolé, il est à propos de la ligne: disabled="#{!(haricot.désactiver)}"> il doit être mainTable.désactiver le Problème est résolu.
  • Content de voir que ça a fonctionné. Essayez de publier une réponse à votre propre question au lieu de modifier la question elle-même de publier la réponse.
  • Je pense qu'au lieu de disabled="#{!(myTable.disable)}"> vous dire disabled="#{!(mainTable.disable)}">? Si c'est le cas, vous risquez de modifier la question, ou ajouter votre propre réponse et accepter que l'on.
  • Cette question semble être hors-sujet, car il est à propos de la réflexion erreur.

InformationsquelleAutor yetAnotherSE | 2013-10-04