Warum wird das Aktionsattribut immer dann aufgerufen, wenn in a4j: commandLink ein Attribut gerendert wird?

  • Ich habe ein Problem mit a4j: commandLink. Ich habe meinen Link bedingt mit dem gerenderten Attribut gerendert, aber die Aktionsmethode wird leider nicht aufgerufen?

    Ich habe einige Erkenntnisse gefunden und festgestellt, dass es beim Action-Attribut Probleme gibt, wenn das bedingte Rendern nur mit der Funktion request bean ausgeführt wird. Die Lösung besteht darin, den Bean-Session-Gültigkeitsbereich festzulegen. Ich habe meine Bean in den Sitzungsbereich gebracht, aber noch nicht Glück.

     <a4j:commandLink rendered="#{someBean.enable}" action="#{someBean.doThis}" />
     

    Hier ist meine Bohne:

     @Name("someBean")
    @Scope(ScopeType.Session)
    public class SomeBean{
    
    private boolean enable;
    
        public void doThis(){
            //not called here
        }
    
        //getters setters
    }
     

    Fehlt mir etwas?

    Ich verwende jsf2, Richfaces und Naht.

    Vielen Dank im Voraus.

    22 November 2011
    Jörn Horstmann
1 answer
  • Sie haben die verwendete Version von Richfaces oder Seams nicht erwähnt, scheint jedoch Version 3.3 für Richfaces zu sein. Wenn dies der Fall ist, verwenden Sie das Attribut ajaxSingle = "true".

    23 November 2011
    Ramin Mir.